2017-09-14 42 views
0

我创建了一个活动并且还通过了EST时区。但在我的Google日历中,它在3小时后显示为时间偏移。活动通过API在Google日历中显示错误的时间

例如,我通过值

"start": { 
    "dateTime": "2017-10-27T15:00:00-04:00", 
    "timeZone": "EST" 
}, 
"end": { 
    "dateTime": "2017-10-27T19:00:00-04:00", 
    "timeZone": "EST" 
} 

但在日历中显示的数值是:

"start": { 
    "dateTime": "2017-10-27T18:00:00-04:00", 
    "timeZone": "EST" 
}, 
"end": { 
    "dateTime": "2017-10-27T22:00:00-04:00", 
    "timeZone": "EST" 
} 

这是严重的问题。任何人都可以请帮助我,谢谢。

回答

0

有几件事情:

  • 千万不要错过EST。使用tz identifier的完整Area/Locality格式。

    • 虽然EST是一个有效的标识符,它固定为UTC-5。这仅仅是为了某些向后兼容的场景。
    • 您给出的日期是夏令时,是UTC-4。
    • 假设您的意思是美国东部时区,您应该通过America/New_York作为时区标识。
  • 即使考虑到上述因素,您的输出结果实际上不应如上所示。

+0

在我的代码,我转换我的sql.timestamp长转换为RFC3339的标准形式之前。这是否改变了时区?我们可以设置时区为Etc/GMT-5吗? –

+0

这不是你在上面展示的东西,也不是。 –

+0

正如你所说,我已经像你说的那样试过了,我已经把TimeZone设置为“America/New_York”,并且我通过api添加了该事件,但它仍然在错误的时间添加。日历的时区设置相应写或应该通过api设置它? –