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

时间:2017-01-24 13:29:21

标签: javascript node.js jsdom jest

我正在使用此代码。:

date.toLocaleDateString('pt-BR')
  • 在我的Chrome浏览器中,结果是:9/13/2016
  • 当我运行测试时 在当地:2016-09-13
  • 当我在Circle CI:9/13/2016
  • 中进行测试时

发生了什么?

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

3 个答案:

答案 0 :(得分:5)

使用toLocaleDateString options设置固定格式。

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

答案 1 :(得分:1)

可以在 package.json 的 param test 中添加“LC_ALL="en_US.UTF-8”来修复

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

答案 2 :(得分:0)

为什么不使用moment.js?它是处理日期服务器端和客户端的简单和极简主义的库,语言环境取决于系统和更多的东西,使用时刻,你将确保正确的格式moment.js