使用moment.format()时保留对象类型



我使用moment库将字符串转换为日期,如下所示:

var time = moment.parseZone("2021-09-28T12:00:00-07:00");

结果为:Tue Sep 28 2021 12:00:00 GMT-0700

但是如果我格式化这个:

var time = moment.parseZone("2021-09-28T12:00:00-07:00").format();

这个转换'时间'到字符串,所以我不能在我的网格操作它作为一个日期,我怎么能实现这一点,以便排序我的日期和显示格式?

注意:如果我使用time.toDate(),它会将偏移量更改为我的本地,并且需要保留它。

对日期数组排序。您可能需要翻转您的diff顺序以获得正确的排序顺序。

// 'a' and 'b' are expected to be date objects
// Since your strings are full ISO 8601, you
// shouldn't require additional parsing
const array = stringArray.map(it => new Date(it));
const sortedArray = array.sort((a, b) => {
const mA = moment(a);
const mB = moment(b);
return mA.diff(mB) // or mB.diff(mA), depending on order
})

最新更新