1.8 KiB
Raw Permalink Blame History

id, title, type, feature, scope, locale, aliases, related_tools, related_pages, prerequisites, negative, last_verified
id title type feature scope locale aliases related_tools related_pages prerequisites negative last_verified
calendar.timezone.concept 日历的时区处理 concept calendar end-user zh
日历时区
跨时区任务
不同地区看任务时间
时区不一样任务时间
国际团队日历
list_tasks
calendar
user_settings
任务数据库无时区字段,时间按 UTC 存储
日历显示按用户当前浏览器的本地时区
同一任务在不同时区用户看到的时段会差几小时
v1.7.90

日历的时区处理

定义

DooTask 任务的 start_at / end_at 在数据库统一按 UTC 存储,但前端展示时按浏览器的本地时区呈现。日历组件也按这个规则渲染。所以跨时区的团队成员看到的同一任务时段可能不一样,但 UTC 真值一致。

显示规则

  • 浏览器自动识别本地时区
  • 日历事件块按 (start_at UTC) → 本地时区 的转换显示
  • 日 / 周视图的时段标尺也按本地时区
  • 用户切换电脑时区 / 出差 → 日历事件位置相应平移

时区选择器

  • 日历组件支持显示时区切换器(timezonesCollapsed=false
  • 在桌面端日历视图右上角可展开切换显示时区
  • 切换显示时区只影响前端展示,不修改任务的 UTC 字段

跨时区团队的注意事项

  1. 北京同事建一个"今天 09:00"的任务UTC 01:00
  2. 巴黎同事UTC+1看到"今天 02:00"
  3. 旧金山同事UTC-7看到"今天前一天 18:00"

如果团队都用同一约定时区(如 UTC+8任务时间会一致。

不支持

  • 任务无 timezone 字段(不能为单个任务指定时区)
  • 不能给"全公司"设固定时区
  • 不能给日历事件标注"按某时区显示"
  • 不支持时区随项目 / 用户偏好设置自动切换