mirror of
https://github.com/kuaifan/dootask.git
synced 2026-07-31 18:35:56 +00:00
52 lines
1.8 KiB
Markdown
52 lines
1.8 KiB
Markdown
---
|
||
id: calendar.timezone.concept
|
||
title: 日历的时区处理
|
||
type: concept
|
||
feature: calendar
|
||
scope: end-user
|
||
locale: zh
|
||
aliases:
|
||
- 日历时区
|
||
- 跨时区任务
|
||
- 不同地区看任务时间
|
||
- 时区不一样任务时间
|
||
- 国际团队日历
|
||
related_tools: [list_tasks]
|
||
related_pages: [calendar, user_settings]
|
||
prerequisites: []
|
||
negative:
|
||
- 任务数据库无时区字段,时间按 UTC 存储
|
||
- 日历显示按用户当前浏览器的本地时区
|
||
- 同一任务在不同时区用户看到的时段会差几小时
|
||
last_verified: 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 字段(不能为单个任务指定时区)
|
||
- 不能给"全公司"设固定时区
|
||
- 不能给日历事件标注"按某时区显示"
|
||
- 不支持时区随项目 / 用户偏好设置自动切换
|