所以我正在通过python制作一个小的App Engine应用程序,它从文件中读取一个时间表并将它放入您的Google日历中。时间表中的所有时间/日期都独立于DST,因此我需要以相同的方式进行事件。由于所有事件在多个DST周期内每周重复发生,这变得更加复杂。使用Google Calendar API在夏令时中创建周期性事件的错误?
我正在使用Calender API V3。
我开始为此创建自己的日历。
calander = {
'summary': 'Calender Name,
'location': 'Somewhere in Ireland',
'timeZone': 'GMT',
}
然后,我与许多不同的周期性事件
event = {
'summary': 'CS101',
'description': 'Intro to Comp Sci',
'location': 'Bla bla bla',
'start': {
'dateTime': '2012-10-03T10:00:00.000-00:00',
'timeZone': 'GMT'
},
'end': {
'dateTime': '2012-10-03T11:00:00.000-00:00',
'timeZone': 'GMT'
},
'recurrence': [
'RRULE:FREQ=WEEKLY;UNTIL=20121231',
],
}
在我的实际过程中的程序,所有这些字符串的被动态生成填充它,但我这里没有问题。
问题是,在夏令时夏令时期间发生的任何事件会自动放置在我给它的时间后面1个小时。我确定这是一个错误,因为我将事件和日历的时区设置为GMT,但GMT没有遵守夏令时。对于我喂食的时间,我们不应该做任何事情。
例如,时间表表示事件持续时间从上午10点到上午11点,每个星期一从9月1日到12月31日。如果将这些信息输入日历,10月28日之前的所有事件(欧洲回落日期)将比时间表的时间晚一个小时。夏季以外的所有时间都很好。
如果我告诉日历上午10点事件开始,我不希望它调整DST。这怎么可以避免?
我不熟悉的G-APP-引擎,但它是相当肯定地说,一个划时代的时间结构是引擎盖下。所以基本上在两个连续日期之间有一个数量为n的时代跳跃。 –
您是否尝试过UTC而不是GMT时区?格林尼治标准时间可能被解释为英国时区,夏季改变为BST。 –
@MarkReed,是的,我已经尝试过以及不同时区的不同组合 –