2017-02-18 2 views
2

У меня возникли проблемы с чем-то, что должно быть очень просто - просто создание Date() в Google Apps Script (JavaScript)Google приложений скрипты форматирования даты

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

Этот тест результатов в 'Invalid Date'. .. Я должен упустить что-то действительно очевидное !?

Благодаря

+0

Возможный дубликат [Google Apps Script выпуска формата даты (Utilities.formatDate)] (http://stackoverflow.com/questions/28956532/google-apps -script-date-format-issue-utilities-formatdate) –

ответ

1

К сожалению, строка даты в формате «2017-02-12» не будет работать в Apps Script, даже если он должен быть действительным 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

Logger.log(Utilities.formatDate(d, timezone, "dd-MM-yyyy")); 
Смежные вопросы