MomentJS 日期字符串添加一天

Ann*_*nna 5 date momentjs

我不明白为什么这个日期被保存为 +1 天:

startdate = "2017-11-29T23:59:59.999Z";
var new_date = moment(startdate).format('DD/MM/YYYY'); // --> gives 30/11/2017
Run Code Online (Sandbox Code Playgroud)

但如果我这样做:

startdate = "2017-11-29";
var new_date = moment(startdate).format('DD/MM/YYYY'); // --> gives the correct date 29/11/2017
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

这是一个 jsfiddle,显示了这一点:http : //jsfiddle.net/jbgUt/416/

谢谢!

Mik*_*rin 12

如果包含时间部分,则与 UTC 的偏移量也可以包含为 +-HH:mm、+-HHmm、+-HH 或 Z。

添加utc()以避免它。

moment(startdate).utc().format('DD-MM-YYYY')
Run Code Online (Sandbox Code Playgroud)

或者

moment.utc(startdate).format('DD-MM-YYYY')
Run Code Online (Sandbox Code Playgroud)

如果你想用 UTC 解析或显示一个时刻,你可以使用 moment.utc() 而不是 moment()