JS Date 的 toLocaleString方法的坑

时间:2025-03-29 20:40:12

JS Date 的 toLocaleString()方法 各个浏览器处理方式不一样,不兼容
同一个时间戳 在IEdge转换正常,在谷歌转换成时间字符串多12小时
!!!

吃了饭回来发现数据又正常了,看来toLocaleString对某些时间戳数据的转换有问题

问题数据:
new Date(1534867845669).toLocaleString()
“2018/8/22 上午12:10:45”
new Date(1534867845669).toUTCString()
“Tue, 21 Aug 2018 16:10:45 GMT”

时过境迁,我知道为啥多12小时了!!
原因:文字表述上面有问题,上午12:xx:xx其实是凌晨的意思,相对的下午12:xx:xx其实是正午的意思。
方法:放了方便中国人(可能是就我自己理解有错误吧) 上代码:
(val => { var date = new Date(+).toLocaleString(); // 解决toLocaleString12:00上下午不正确问题 if(('下午12:00:00')){ date = (/下午12:00:00/,'上午12:00:00'); } else if(('上午12:00:00')){ date = (/上午12:00:00/,'下午12:00:00') } else{ } (date); });