将日期格式从PST更改为GMT

问题描述:

试图将变量preDate(PST)转换为GMT格式而未成功,iv'e尝试了两种不同的方法。将日期格式从PST更改为GMT

早= “2016年1月25日”(电流值)

踵= “25-1-2016” “25/1/2016”(值i希望有)

功能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]未定义

的formatDate方法需要的第一个参数作为日期和不是字符串。这是一个可以工作的修改版本。确保您的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()来代替它,它将始终是正确的。 –