2016-11-24 2 views
0

Попытка конвертировать переменную preDate (PST) в формат GMT без успеха, iv'e пробовал два разных подхода.Dateformat change from PST to GMT

предшествуют = "1/25/2016" (текущее значение)

постдатировать = "25-1-2016" или "25/1/2016" (значение я хотел бы иметь)

Функция A)

function myFunction1() { 
     var preDate = "1/25/2016"; 

     var formattedDate = Utilities.formatDate(preDate, "GMT", "d-MM-yyyy"); 
     Logger.log(formattedDate); 
     } 

не удается найти метод FormatDate (строка, строка, строка)

Функция B)

function myFunction2(){ 
    var preDate = "1/25/2016"; 
    if (typeof preDate === "date"){ 
var nydate = Utilities.formatDate(preDate, "GMT", "d-MM-yyyy"); 
    } 
    Logger.log(nydate); 
} 

[16-11-24 14: 15: 16: 532 CET] неопределенные

ответ

1

Метод требует FormatDate первого параметра, как дата и не String. Вот модифицированная версия, которая должна работать. Убедитесь, что часовой пояс по умолчанию для вашего скрипта Google установлен как PST.

function myFunction1() { 
    var preDate = new Date("1/25/2016"); 
    var formattedDate = Utilities.formatDate(preDate, "GMT", "d-MM-yyyy"); 
    Logger.log(formattedDate); 
} 
+0

Это дает мне правильный формат, но не тот день, что я вижу в регистраторе: «24-01-2016», почему он отрезал один день? Спасибо за то, что ты терпение со мной Амит, оценил! –

+0

GMT + 1 решил! –

+1

Не используйте жестко закодированные значения часовых поясов, вам придется менять их каждый раз каждый год ... Вместо этого используйте session.getScriptTimeZone(), он всегда будет прав автоматически. –

Смежные вопросы