簡體   English   中英

谷歌腳本中的日期格式

[英]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");

簡單日期格式參考

JavaScript 日期構造函數

使用Utilities.formatDate

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM