在Apps脚本中,项目文件具有自己的时区设置:
在这种情况下,时区偏移量为负5.但是当我的代码记录脚本时区时,它会减去4!它关闭了一个小时。如何修复代码以获得正确的时区偏移?
以下是代码:
function getTimezoneOffset(){
var testMonth = "March",
testDayOfMnth = "26",
testYr = "2016";
var hour = "10:00";
Logger.log("Script Time Zone: " + Session.getScriptTimeZone());
var dateString = testMonth + " " + testDayOfMnth + ", " + testYr;
Logger.log("dateString: " + dateString);
var date = new Date(dateString);
var scrptTimeZone = Session.getScriptTimeZone();
Logger.log("Session.getScriptTimeZone(): " + Session.getScriptTimeZone());
var scriptTimeZone = Utilities.formatDate(date, scrptTimeZone, 'Z');
Logger.log("scriptTimeZone: " + scriptTimeZone);
};
答案 0 :(得分:1)
是的,这是由于DST(3月13日)。 试试这个:
var date1 = new Date("March 12, 2016 10:00"); // EST – Eastern Standard Time
Logger.log("dateString: " + date1);
// result: dateString: Sat Mar 12 2016 10:00:00 GMT-0500 (EST)
var date2 = new Date("March 13, 2016 10:00"); // EDT – Eastern Daylight Time
Logger.log("dateString: " + date2);
// result: dateString: Sun Mar 13 2016 10:00:00 GMT-0400 (EDT)