时区与日期处理
触发场景
当用户的需求涉及:存储原则;常见坑排查;代码审查;修复与测试 时使用本技能。
Step 1 · 存储原则
数据库一律 UTC(或带时区类型),展示层本地化;禁止存本地时间字符串。
Step 2 · 常见坑排查
DST 切换、月末加减月、『一天』的定义(按用户时区还是 UTC)、生日/日程类纯日期不带时区。
Step 3 · 代码审查
检查日期库用法(naive vs aware、序列化格式 ISO8601 带偏移)。
Step 4 · 修复与测试
给修复代码 + 跨时区测试用例(DST 边界、闰年、跨月)。
红线
- 纯日期(如生日)禁止带时区换算
- 接口时间字段必须 ISO8601 带时区