【发布时间】:2020-12-18 17:40:31
【问题描述】:
(在线查看此示例:https://stackblitz.com/edit/date-fns-playground-zeitzonen?file=index.ts -> 控制台输出)
以下情况,现在是上午 11:54:
// Setup
const dateString = "2020-08-30T11:54:48.200Z"; // <---- 11:54 AM
const tz = "Europe/Berlin";
const dateFormat = "d. MMM yyyy, E HH:mm";
const dateOptions = { locale: de };
就我格式化日期而言,它会更改时区并增加 2 个小时:
const parsedDate = parseISO(dateString);
const formattedDate = format(parsedDate, dateFormat, dateOptions);
// outputs: 30. Aug 2020, So. 13:54
const zonedDate = utcToZonedTime(dateString, tz);
// outputs: 2020-08-30T11:54:48.200Z
const formattedZonedDate = format(zonedDate, dateFormat, dateOptions);
// outputs: 30. Aug 2020, So. 13:54
所需的(正确的)输出是30. Aug 2020, So. 11:54
我的错误在哪里?初始dateString 的时区是否正确?
【问题讨论】:
标签: typescript timezone locale utc date-fns