You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python调用Google Calendar API仅更新事件时间而不修改日期

解决方案

核心是基于原事件的日期构建目标时间,完全抛弃datetime.now(),避免覆盖原有日期:

  • 提取原事件的日期部分:不管原事件是全天事件(日期对象)还是带时间的事件(datetime对象),先取出纯粹的日期信息。
  • 拼接目标时间:用原日期结合9:00和18:00,生成新的开始/结束datetime。

代码示例(Python)

假设你已经从Zoho/Google接口拿到了原事件的起始时间对象(original_event_start):

from datetime import datetime, time

# 提取原事件的日期
if isinstance(original_event_start, datetime):
    original_date = original_event_start.date()
else:
    # 针对全天事件返回date对象的情况(比如Google Calendar)
    original_date = original_event_start

# 构建新的9:00-18:00时间
new_start = datetime.combine(original_date, time(9, 0))
new_end = datetime.combine(original_date, time(18, 0))

# 后续用new_start和new_end更新事件即可

注意事项

  • 时区处理:如果你的项目涉及跨时区,务必给datetime对象添加时区信息(比如用zoneinfo或pytz),防止因时区偏移导致日期意外变更。
  • 接口适配:不同日历接口返回的时间格式可能有差异(比如Zoho People可能返回带时区的ISO字符串),先解析成datetime/date对象再处理。

内容的提问来源于stack exchange,提问作者Sagar Ms

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 17:40:31