Angular 9 DatePipe:如何忽略时区格式

Angular 9 DatePipe: How to ignore timezone format

我目前正在使用 angular 9 DateTime Pipe 来格式化我的日期时间。 我使用 DataTimeOffset 将日期时间存储在数据库中。 当我从服务器检索此日期时,格式如下:“2021-03-30T16:26:52.047+02:00”

我正在使用此代码将格式应用于我的日期:

const pipe = new DatePipe('en-Us);
const formatedDate = pipe.transform(date, 'dd.MMM.yyyy HH:mm:ss');

当我这样做时,管道正在占用浏览器时间并格式化我的日期。 我知道这是默认选项,如果我不将第三个参数发送到转换函数。

但我有业务需要按原样显示日期...但格式为上述格式,

我的问题是:如何避免时区转换但仍然格式化日期时间?

您可以使用var transformedDate = new Date(datepipe.transform(myDate, 'yyyy-MM-dd' + ' UTC'))

经过多日的调查,唯一的解决方法是使用库“Luxon”。

https://moment.github.io/luxon/docs/manual/zones.html

有了这个库,我可以做这样的事情:

var keepOffset = DateTime.fromISO("2017-05-15T09:10:23-09:00", { setZone: true });

这将保持偏移不变。