我遇到时区出现奇怪结果的问题。
我正在测试全新日历上的小代码。 我在2012年11月7日22:00到23:00举办了一个测试活动。
function myFunction() {
Logger.clear();
var calendar=CalendarApp.getCalendarById("foo@group.calendar.google.com");
var now=new Date();
Logger.log(calendar.getTimeZone());
Logger.log(Session.getTimeZone());
Logger.log(now.toISOString());
Logger.log(now.toUTCString());
Logger.log(calendar.getEventsForDay(now)[0].getStartTime());
}
这就是我在11月07日00:29运行它的原因
Europe/Rome
Europe/Rome
2012-11-06T23:28:25.889Z
Tue, 06 Nov 2012 23:28:25 GMT
Wed Nov 07 13:00:00 PST 2012
我读了一篇旧帖子http://googleappsscript.blogspot.it/2011/03/demystifying-time-zones-in-apps-script_21.html,但这对我没有帮助。
如何在日历的时区(或脚本的时区)中获取startdate?
答案 0 :(得分:0)
将Date转换为String时,使用的时区是服务器的时区。要确保字符串表示位于所需的时区(在本例中为脚本),您需要使用Utilities.formatDate()
方法,该方法记录为here。