Moment.js 舍入日期

Moment.js round dates up

在我的 javascript 中,图书馆 Moment.js 将我的日期四舍五入。

 Date: 2015-02-09T23:00:00.000Z

 moment(Date).format('DD/MM'); ==> Becomes 10/02

我想要 09/02 作为结果。图书馆是否有可能不舍入日期?

你可以试试下面的方法。

moment(Date,['YYYY-MM-DD']).format('DD/MM');

问题可能是时区之一:默认情况下,momentjs 会解析您的字符串并将其转换为您当地的时区。如果我没看错的话,你日期中的 'Z' 表示祖鲁 - 或 UTC 时间。例如,如果您的时区是 +02:00,那将是第 10 个,01:00.

使用Moment#utc

moment(Date).utc().format('DD/MM');

再次将日期格式输出为 UTC。

Moment.js会输出当地时区的日期,所以很可能是时区不同造成的。

如果要将 date/time 显示为编码到原始字符串中,请像这样使用 parseZone

var dateStr = "2015-02-09T23:00:00.000Z";
moment.parseZone(dateStr).format('DD/MM');