Js中日期处理的问题
问题描述:后台需要传一个日期到前台, 前台格式化只显示年月日(yyyy-MM-dd),泰国工厂人员操作的时候,日期会变成前一天.
比如:后台传给前台的时间为“2025-12-12”,类型为日期时间型.页面有日期的格式化显示,在东莞工厂人员看到的日期是正常的"2025-12-12",但是在泰国工厂人员的页面看到的日期是"2025-12-11".
调出浏览器的开发工具查看,结果发现日期型加了时区,服务器在东莞,时间2025-12-12到了泰国就变成了2025-12-11 23:00:00,强制转换成日期就变成了2025-12-11.
本来想直接判断时区,来加一个小时的,后来发现东八区还有不同的名字,直接判断时区有点难度.后面找到偏移时间来完成这个动作,代码如下。
var deliveryDate = String.format("{0:yyyy-MM-dd}", thisRow["DeliveryDate"]); //非当前时区时,换回东八区 if (new Date().getTimezoneOffset() != -480) { var a = thisRow["DeliveryDate"]; a.setMinutes(a.getMinutes() + 480 + new Date().getTimezoneOffset()) deliveryDate = String.format("{0:yyyy-MM-dd}", a); }
浙公网安备 33010602011771号