导读:`toLocaleDateString` 将 Date 对象转为本地格式字符串,但因浏览器语言设置不同(如英文时输出 "4-19-2023"),可能导致后台解析错误。为避免格式差异引发的保存失败问题,建议改用固定拼接方式:`data.getFullYear() + "-" + (data.getMonth() + 1) + "-" + data.getDate()`,确保输出统一为 "YYYY-MM-DD" 格式。此方法不受浏览器语言影响,兼容火狐等浏览器
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();
关键词: 英文
浏览器
Javascript
toLocaleDateString
苏公网安备 32111202000338号