2017-02-18 158 views
2

我有東西麻煩應該很簡單 - 在谷歌Apps腳本(JavaScript)的谷歌Apps腳本日期格式

var thisdate = new Date('2017-02-12'); 
Logger.log(thisdate.toString()); 

這個測試結果在「無效的日期」)只是創建日期(。 ..我一定錯過了一些非常明顯的東西!?

感謝

+0

的可能的複製[谷歌Apps腳本日期格式問題(Utilities.formatDate)(http://stackoverflow.com/questions/28956532/google-apps -script-date-format-issue-utilities-formatdate) –

回答

1

不幸的是,在「2017年2月12日」格式的日期字符串不會在Google Apps腳本的工作,即使它應該是一個有效的JavaScript日期字符串。你可以用斜線替換破折號,它會起作用。

var d,string; 

string = '2017-02-12'; 

if (string.indexOf("-") !== -1) {//A dash was found in the date string 
    string = string.replace(/-/g,"/");//Replace dashes with slashes 
    Logger.log(string) 
    d = new Date(string); 
} else { 
    d = new Date(string); 
} 

Logger.log(d) 
+0

非常感謝 - 它不支持ISO日期格式有多奇怪! – user2343854

1

您可以將以逗號分隔的數字作爲參數傳遞給Date對象構造函數。

var d = new Date(2017, 2, 12); //year, month, date. 

月份從0開始,所以2實際上是3月份。在下面的例子中,輸出月份將是3

Logger.log(Utilities.formatDate(d, timezone, "dd-MM-yyyy"));