toLocaleDateString的作用是根据本地时间把 Date 对象的日期部分转换为字符串,首先看下下面这段代码:
var data = new Date();
var str= data.toLocaleDateString();
console.log(str);
大家觉得上面这段代码会输出什么?没错会输出类似下面格式的日期:
2023-04-19
但是小编最近在一个项目中使用这个方法却出现了问题,客户一直说日期保存不了,所以小编远程和客户调试了下,发现客户居然使用的是英文浏览器,导致上面的代码输出的格式如下:
4-19-2023
所以提交到后台时,误认为格式错误。
后经过测试发现火狐浏览器在版本47以上都会有这个问题,其它浏览器暂时没有测试。
那么如何解决这个问题呢?直接用下面拼接字符串的方法就可以了
data.getFullYear() + "-"+ (data.getMonth() + 1) + "-" +data.getDate();
RoveCoder版权所有,转载请注明