为什么moment.js错误地返回这个日期?

时间:2014-11-24 17:47:06

标签: javascript momentjs

我只是尝试获取输入字符串并将其转换为日期对象。

moment.utc('2000-01-01T00:00:00.000Z').toDate()

但它会归还......

Fri Dec 31 1999 19:00:00 GMT-0500 (EST)

由于

2 个答案:

答案 0 :(得分:1)

这是一个有效的JavaScript日期对象。您可以通过在Chrome或Firefox中打开控制台进行测试,然后输入以下内容:

// Mon Nov 24 2014 09:54:00 GMT-0800 (PST) (looks the same as your example)
console.log( new Date() );

如果要格式化来自moment.js的值,可以使用其格式化方法和掩码。

// Example: November 24th 2014, 09:58:12am
var fdate = moment().format('MMMM Do YYYY, h:mm:ss a');

Moment.js不修改原型,它只是包装它。

如果你想使用moment.js将字符串转换为日期对象,你可以这样称呼它:

moment(your_date); // Unless in UTC mode this will display as local time

在您的实例中,您使用的是UTC mode

答案 1 :(得分:0)

2000-01-01T00:00:00.000Z是GMT日期/时间。

使用moment.utc("2000-01-01T00:00:00.000Z").toDate()根据您的时区设置返回此日期/时间。

请参阅:http://www.digitoffee.com/programming/get-local-time-utc-using-moment-js/94/

希望它有所帮助。