当我创建一个活动并给出一个临近的日期时,一切都运行良好。但是,当我创建几个月后的事件时,假设它处于夏令时 DST 之外(而我当前处于夏令时期间),则创建该事件时会出现不需要的 1 小时偏移。下面的代码产生以下输出:Starts 2020-12-20 9:00 Ends 2020-12-20 11:00 $event = array( 'summary' => $attributes['summary'], 'location' => $attributes['location'], 'description' => $attributes['description'], 'start' => array( 'dateTime' => 2020-12-20T10:10:00-04:00', 'timeZone' => 'America/Toronto', ), 'end' => array( 'dateTime' => 2020-12-20T10:12:00-04:00', 'timeZone' => 'America/Toronto', ), 'anyoneCanAddSelf'=>true, 'guestsCanInviteOthers'=>true, );问题我应该如何更改我的代码,以便它自动工作,这样我就不需要每年两次手动更改我的代码/偏移量?
1 回答

扬帆大鱼
TA贡献1799条经验 获得超9个赞
问题是您过度指定了dateTime
参数以包含offset,但您还提供了一个timeZone
参数。在这种情况下,该timeZone
参数与(美国/多伦多在该日期的偏移量 -05:00)中的偏移值冲突dateTime
。
考虑到两者之间的冲突 - 它选择使用dateTime
.
事件资源的文档在属性中指定end.dateTime
:
时间,作为日期-时间组合值(根据 RFC3339 格式化)。除非在 timeZone 中明确指定时区,否则需要时区偏移量。
(强调已添加)
解决该问题的最简单方法是从dateTime
您指定的偏移值中删除并依赖于timeZone
设置。
没有找到匹配的内容?试试慕课网站内搜索吧
- 1 回答
- 0 关注
- 98 浏览
添加回答
举报
0/150
提交
取消