[英]Date formatting in google-script
我想使用我擁有的代碼將格式更改為“mmm-dd-yyyy”(2019 年 11 月 11 日)。
請看下面的代碼:
var timeStamp = data[i][timeStampappr];
var formatted = (timeStamp.getMonth()+1) + '/' + timeStamp.getDate() + '/' + timeStamp.getYear();
當前格式是 11/11/2019,我希望它像 Nov-11-2019
如果您使用以下內容,那么如果時間戳是一個字符串,則它可能是日期構造函數將正確創建日期的形式。 如果它是一個日期,它只會創建另一個具有相同值的日期 object。 因此,如果您並不總是確定要在時間戳值中找到什么,這種方法可能會為您提供更一致的性能。 另請注意,M 必須大寫本月。
Utilities.formatDate(new Date(timestamp), Session.getScriptTimeZone(), "MM-dd-yyyy");
var formatted = Utilities.formatDate(timeStamp, "GMT", "MMM-dd-yyyy")
很好的問題,如果您找不到更具體的 function 來完成這項工作,一個直接的解決方案是創建月份字符串表示的數組。 那是:
var monthsAsStrings = ["Jan", "Feb", "Mar", ... ];
var formatted = monthsAsStrings[timeStamp.getMonth() + 0 ] + '-' + timeStamp.getDate() + '-' + timeStamp.getYear();
^ ^ ^
請注意,數組索引從 0 開始,而我們通常稱為 1 月 1。+ 0 不是必需的,但說明了您發布的代碼與您請求的代碼之間的區別。
此外,“/”替換為“-”。
這樣,您可以在格式化日期之前先檢查是否有時間戳:
function myFunction(data) {
var timeStamp = data[i][timeStampappr];
// If there is no timestamp, then do nothing.
if(timestamp){
var formattedDate = Utilities.formatDate(timestamp, "GMT", "MMM-dd-yyyy");
Logger.log(formattedDate);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.