我无法理解脚本/日历中的时区

时间:2012-11-06 23:32:25

标签: google-apps-script

我遇到时区出现奇怪结果的问题。

我正在测试全新日历上的小代码。 我在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?

1 个答案:

答案 0 :(得分:0)

将Date转换为String时,使用的时区是服务器的时区。要确保字符串表示位于所需的时区(在本例中为脚本),您需要使用Utilities.formatDate()方法,该方法记录为here