使用date-fns设置UTC日期和时间的偏移量



我有一个UTC时间,偏移量如下。我正在尝试使用date-fns库中的format函数格式化UTC日期时间字符串。

import { format } from "date-fns";
const utcDateTime = "2021-10-14T21:03:56.3256046+00:00";
const formattedDate = format(new Date(utcDateTime), "MM/dd/yyyy hh:mm");

我期待的是10/14/2021 21:03, 24小时时间格式,但我得到的是10/14/2021 04:03,我的时区转换日期时间。

如何显示日期和时间完全像UTC时间,而不是转换日期时间到当地时区?

我使用CodeSandbox创建了一个工作示例。有人能帮忙吗?

在花费了大量时间之后,我能够使用普通JavaScriptDate对象及其函数实现所需的结果。

  • 首先,解析日期时间字符串并使用toISOString()函数将其转换为ISO字符串。

  • 第二,从ISO字符串中拆分格式化的日期和时间。

下面是代码

const formatToUTCDateTime = (dateString) => {
const date = new Date(Date.parse(dateString));
const formattedDate = date.toISOString().split("T")[0].split("-");
const formattedTime = date.toISOString().split("T")[1].split(":");
return `${formattedDate[1]}/${formattedDate[2]}/${formattedDate[0]} ${formattedTime[0]}:${formattedTime[1]}`;
};
console.log("Result - ", formatToUTCDateTime("2021-10-14T20:03:56.3256046+00:00"));

最新更新