wangziqi
4dd7b5a0b1
fix(server): 时间戳→业务日期/时间全部统一为中国时区(UTC+8)
此前仅'今天'默认值统一为中国日期,Date→字符串的转换仍是 UTC:
- sync 考勤同步窗口 lastSyncAt 时间戳按 UTC 取日期,凌晨会偏一天
- 考勤导出 punchTime/createdAt 显示 UTC 时间
- normalizeDateOnly 把 ISO datetime 按 UTC 归一化,业务日期少一天
- getCourseClock/getChinaDateParts 用 dayjs.utc(date).add(8h) 隐式转换
统一为 dayjs(date).utcOffset(8),纯日期字符串运算(shiftDate/addDays/
daysInMonth/nextMonth)保留 dayjs.utc;date-normalization 测试断言
同步更新为北京时间语义。
2026-08-08 18:01:35 +08:00
..
2026-08-07 18:00:29 +08:00
2026-08-08 17:56:00 +08:00
2026-08-08 18:01:35 +08:00
2026-08-05 17:11:23 +08:00
2026-08-05 17:11:23 +08:00
2026-08-08 17:56:00 +08:00
2026-08-08 18:01:35 +08:00
2026-08-08 09:28:23 +08:00
2026-08-05 18:55:36 +08:00
2026-08-08 18:01:35 +08:00
2026-08-05 18:55:36 +08:00
2026-08-08 18:01:35 +08:00
2026-08-05 18:55:36 +08:00
2026-08-05 18:55:36 +08:00
2026-08-05 17:11:23 +08:00
2026-08-07 16:38:03 +08:00
2026-08-05 17:11:23 +08:00
2026-08-08 18:01:35 +08:00
2026-08-08 18:01:35 +08:00
2026-08-08 15:05:42 +08:00
2026-08-08 18:01:35 +08:00
2026-08-08 17:27:14 +08:00
2026-08-05 18:43:02 +08:00
2026-08-08 17:58:16 +08:00
2026-08-05 21:14:17 +08:00
2026-08-05 17:11:23 +08:00
2026-08-05 18:43:02 +08:00
2026-08-05 18:55:36 +08:00
2026-08-08 15:05:42 +08:00
2026-08-05 18:43:02 +08:00
2026-08-05 18:43:02 +08:00
2026-07-22 17:50:59 +08:00
2026-07-22 17:50:59 +08:00