822f8976a90de6e8e670df2fe5d7bc106a46c7f2
current_time = datetime.now(beijing_tz).replace(tzinfo=None) 是**去掉时区的北京 墙上时间**。MOM 自己的库里 outbound_time/outbound_time 都是 naive timestamp, 本地这么存没问题;但它一旦以无偏移形式("2026-09-23T15:00:00")发给 Track, Track 的 timestamptz 列会按 **UTC** 解释 —— 实测发 15:00 存成 15:00+00, 前端在北京渲染成 23:00,整整差 8 小时。 用 replace(tzinfo=beijing_tz) 把真实时刻装回去,发出去即 "2026-09-23T15:00:00+08:00" —— 语义明确,不依赖接收方去猜。 ⚠️ 只改发给 Track 的这一处,**不动 current_time 本身**:它还要写进 MOM 自己的 naive 列(TransOutbound.outbound_time、TransRepair.shipping_date),在上面挂 tzinfo 会改变那些写入的行为。 ⚠️ 原有代码把 inbound_time / outbound_time 只拼进 remark 字符串、从不落库,所以 这个歧义此前一直没有暴露 —— 本次开始落 timestamptz 列才浮出来。 实测(Track 侧 lica_production): 发 "2026-09-23T15:00:00+08:00" → 存 07:00+00 AT TIME ZONE 'Asia/Shanghai' 读回 = 2026-09-23 15:00:00 ✅
Description
No description provided
Languages
Python
70.2%
CSS
14.9%
Vue
7.6%
HTML
4.2%
TypeScript
3.1%