如何将 utc 时间转换为时区日期对象,其中时区时间与 utc 相同

问题描述 投票:0回答:1

我有一个这样的时间,是在日期时间选择器中选择的

let time = 2024-04-22T10:00:00.000Z

我希望用户能够选择时间所在的时区,例如欧洲/赫尔辛基 我想要一个函数可以将该时间转换为分区时间,并且输出例如

converFromUtcToZoned("2024-04-22T10:00:00.000Z", "europe/helsinki") //output example "2024-04-22T70:00:00.000Z"

我尝试过使用 date-fns 库,但还没有让这些函数按照我想要的方式工作,并且我尝试在其他地方寻找答案。

javascript typescript datetime timezone
1个回答
0
投票

您可以使用

Date.prototype.toLocaleString
来格式化具有给定
timeZone
参数的字符串。

const converFromUtcToZoned = (date, timeZone) =>
  new Date((typeof date === 'string' ? new Date(date) : date)
    .toLocaleString('en-US', { timeZone })); 

const timestamp = converFromUtcToZoned('2024-04-22T10:00:00.000Z', 'europe/helsinki');

console.log(timestamp); // 2024-04-22T17:00:00.000Z

© www.soinside.com 2019 - 2024. All rights reserved.