我在代码中使用CalendarProvider
在我生成的日历中添加了一个全天活动。首先,我在代码中添加一个事件。然后我在全天到的同一天将另一个带谷歌日历的活动添加到同一个日历中。以下是查询Event表中两个事件的结果:
(allDay : 1)(dtstart : 1445817600000)(dtend : 1445904000000)(eventTimezone : UTC)(eventEndTimezone : null)(calendar_timezone : Asia/Tehran)(title : me)
(allDay : 1)(dtstart : 1445817600000)(dtend : 1445904000000)(eventTimezone : UTC)(eventEndTimezone : null)(calendar_timezone : Asia/Tehran)(title : Google)
然而,这是查询实例表的结果:
(startDay : 2457322)(startMinute : 210)(begin : 1445817600000)(endDay : 2457323)(endMinute : 210) (end : 1445904000000)(title : me)
(startDay : 2457322)(startMinute : 0) (begin : 1445817600000)(endDay : 2457322)(endMinute : 1440)(end : 1445904000000)(title : Google)
我的设备时区是GMT +3:30。根据{{3}},我为事件时区设置了UTC
。但似乎日历提供商不考虑它并且在实例开始和结束时增加210 = +3.5 * 60分钟。这导致谷歌日历在两天内显示我的活动。那么问题是什么?我应该为正确的行为设置另一列吗?
注意:当我将设备时区设置为UTC
时,实例表会保存正确的值(0表示开始分钟,1440表示结束分钟)。