不同时区的时间输入,导致前端日期显示不准确
background:印度同事输入的日期后,重新打开页面显示时间为昨天
reason:存储到DB的日期,或者从db 拿出来的Java 日期都是对的,但是在 Json Object converter make the time as an unix time(object:{"startDate": 1689724800000}), front-end during different time zone convert the time to the YYYY-MM-DD have one deviation
solution:
- 在前端保存日期的时候,就把日期转化为对应的Unix 时间, 即 timezone as GMT +00 ,前端从后端拿到数据时,会自动转化为浏览器的时区(即:用户所在时区时间)==>这样之前保存在db
- 如果该字段的代码涉及的不是很多,建议使用String类型进行保存
import moment from 'moment';
startDate = moment.utc(startDate).format('YYYY-MM-DD');
endDate = moment.utc(endDate).format('YYYY-MM-DD');
浙公网安备 33010602011771号