Node JS toLocaleTimeString在不同的环境Server VS Laptop中表现得很好

时间:2015-10-03 10:57:19

标签: javascript node.js datetime

所以在我的笔记本电脑上(mac book pro)我拉出我的bash并点击节点来处理一些日期对象

我收到了这个回复:

$node
> var d = new Date();
Sat Oct 03 2015 03:48:41 GMT-0700 (PDT)
> d.toLocaleTimeString();
'3:48:41 AM'
> d.toLocaleTimeString('en-US', { hour: '2-digit', minute:'2-digit' });
'3:48 AM'

所以我在这里得到了我需要的确切答案

现在当我在我的服务器(分操作系统)上执行此操作时,我得到了不同的响应

> var d = new Date();
undefined
> d.toLocaleTimeString();
'03:13:19'
> d.toLocaleTimeString('en-US');
'03:13:19'
> d.toLocaleTimeString('en-US', {hour12:true});
'03:13:19'
> d.toLocaleTimeString('en-US', { hour: '2-digit', minute:'2-digit' });
'03:13:19'
>FML

任何人都可以解释为什么它不适用于我的服务器,是否有办法解决它?

1 个答案:

答案 0 :(得分:0)

看起来toLocaleTimeString与配置服务器的方式不兼容。

首先,检查服务器中的时区。请参阅https://chrisjean.com/change-timezone-in-centos

另一件有用的事情就是使用像moment这样的库,使其变得简单并且格式一致:

var moment = require('moment');
console.log(moment().format('MMMM Do YYYY, h:mm:ss a'));