toLocaleDateString 使用相同的语言是不同的

toLocaleDateString is different using the same language

我正在使用此代码。:

date.toLocaleDateString('pt-BR')

这是怎么回事?

Ps.: 我正在使用 Jest 和 JSDom 进行测试。

为什么不使用moment.js?它是处理日期服务器端和客户端的简单且极简主义的库,区域设置取决于系统和其他一些东西,使用 moment,您将确保格式正确 moment.js

使用toLocaleDateString options 设置固定格式。

var date = new Date();
var options = { year: 'numeric', month: '2-digit', day: '2-digit' };
console.log(date.toLocaleDateString('pt-BR', options));

您可以在 package.json 的参数测试中添加 "LC_ALL="en_US.UTF-8" 来修复它

"test": "LC_ALL=\"en_US.UTF-8\" npm run test",