2014-12-06 54 views
1

我知道Highcharts可以利用的Unix偏移时间本身,但它更具可读性传递一个Date对象:使用Moment为HighCharts输出Date.UTC()对象?

Date.UTC(2003,8,25) 

有没有办法为Moment.js输出这个确切的对象?

var momentDate = moment.utc([2003, 08, 25]); 
var JSDate = momentDate.toDate(); 
//Not sure where to go to actually output Date.UTC(2003,8,25) 

回答

8

我认为Date.UTC的功能可能存在一些混淆。

Date.UTC()不返回Date对象。根据世界时间,它返回1970年1月1日的特定日期和午夜之间的毫秒数。这正是Highcharts想要的。正如你所建议的那样,它比自己输入毫秒数更方便人们阅读。例如:

var d = Date.UTC(2012,02,30); 
// d holds the value 1333065600000 
在Moment.js

类似的功能可以与valueOf()方法实现:

var d = moment.utc([2012,02,30]).valueOf(); 
// d holds the value 1333065600000 
+1

尔加,谢谢!我现在明白了。 'Date.UTC(2003,8,25)'完全相同,并且与数字“1064448000000”等效替代,因为该数字就是Date.UTC(2003,8,25)输出的数字。 – fuzzybabybunny 2014-12-07 08:59:30

+0

我有同样的问题,直到我读了这个答案,这导致我正确的转换:moment.utc([2003,08,25])。unix()* 1000 – mojovski 2016-10-04 11:55:13