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);
        }

 

posted @ 2025-12-12 13:22  老飞飞  阅读(0)  评论(0)    收藏  举报