Google Calendar公开链接按日展示日期异常问题及解决方案
解决Google Calendar公开链接加
mode=day显示前一日日程的问题 我之前帮俱乐部处理场地预订日历的时候也踩过这个坑!明明加了&mode=day想让访客直接看当日的场地预订,结果打开却是前一天的内容,折腾了好一阵才找到原因和解决办法。
问题根源
Google Calendar的公开嵌入链接默认使用UTC时区来计算“当日”,如果你的本地时区比UTC早(比如国内用的东八区UTC+8),当你本地时间是当天凌晨0点到早上8点时,UTC时间还是前一天的16点到24点,这时候日历就会默认加载UTC的“当日”(也就是你的前一天)。哪怕是白天,时区差异也会导致日历的“当日”判断出现偏差。
具体解决方案
在你的公开日历嵌入URL末尾,额外加上时区指定参数&ctz=你的时区代码,就能强制日历按照你指定的时区来展示当日日程。
举个例子,假设你的原始公开链接是:
https://calendar.google.com/calendar/embed?src=your-calendar-id&mode=day
如果是国内的网球俱乐部,就改成:
https://calendar.google.com/calendar/embed?src=your-calendar-id&mode=day&ctz=Asia/Shanghai
其他时区的话,换成对应的代码就行,比如美国东部是America/New_York,欧洲中部是Europe/Berlin。
验证效果
修改完URL后,直接打开就能看到当日的场地预订信息了,不管什么时间段访问,都会按照你指定的时区来加载当日内容,完美解决错位问题。
内容的提问来源于stack exchange,提问作者user3012629
相关产品推荐
相关产品推荐

