背景:
1.服务器的时区是0时区
2.客户端是北京时间,传了个当天的时间给服务端计算出当天的时间区间,结果通过new Date等常见操作后,算出来的是0时区的00:00到23:59的时间戳。这个时间戳的起始区间都会比客户端的时间多8个小时。假设服务端存数据都是按时间戳存储,那么传当天的时间给到服务端,他计算出来当天的时间从客户端的时区看是早上的8到第2天的8,跟预期不符。
解决方法:
1.调整服务器时间跟客户端时间时区保持一致
2.时间区间不要服务端计算,都由客户端计算好后告诉服务端
第2种会更好点,但如果本身服务器有做定时任务,那就要考虑好定时任务的时间时区问题
附带一个修改docker时间的脚本,根据实际情况修改
RUN rm -rf /etc/localtime
RUN ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime