0

我正在尝试打印以自己的时区偏移存储的多个日期。

使用momentjs,我曾经执行以下操作

const date1 = "2013-01-01T00:00:00-05:00";
const date2 = "2013-01-01T00:00:00-13:00";

console.log(moment.parseZone(date1).format());
console.log(moment.parseZone(date2).format());

// 2013-01-01T00:00:00-05:00
// 2013-01-01T00:00:00-13:00

它打印两个日期及其偏移量(-05:00-13:00)。

我想对 luxon js 做同样的事情

const date1 = "2013-01-01T00:00:00-05:00";
const date2 = "2013-01-01T00:00:00-13:00";

console.log(luxon.DateTime.fromISO(date1).toISO());
console.log(luxon.DateTime.fromISO(date2).toISO());

// 2013-01-01T02:00:00.000-03:00
// 2013-01-01T10:00:00.000-03:00

但不是保持偏移,而是将它们转换为-03:00. 我怎样才能保持相同的偏移?

4

1 回答 1

0

刚刚找到答案。我需要激活该setZone选项。因此,解决方案如下:

const date1 = "2013-01-01T00:00:00-05:00";
const date2 = "2013-01-01T00:00:00-13:00";

console.log(luxon.DateTime.fromISO(date1, { setZone: true }).toISO());
console.log(luxon.DateTime.fromISO(date2, { setZone: true }).toISO());

// 2013-01-01T00:00:00.000-05:00
// 2013-01-01T00:00:00.000-13:00

在此处查看文档。

于 2020-09-24T16:52:20.010 回答