gpt4 book ai didi

javascript - 如何将日期从一个时区转换为另一个时区

转载 作者:行者123 更新时间:2023-12-04 08:46:55 25 4
gpt4 key购买 nike

我有一个日期,它是用户浏览器时区中给定日期的开始,但我需要使用 date-fns 将其转换为另一个时区中一天的开始。
我有个约会:

const date = new Date("2020-10-13"); // Tue Oct 13 2020 00:00:00 GMT-0400 (Eastern Daylight Time)
我需要将它转换为 "America/Chicago" 中的一天的开始时区。
const timeZone = "America/Chicago";
// Need to convert a date object
// Tue Oct 13 2020 00:00:00 GMT-0400 (Eastern Daylight Time)
// to
// Tue Oct 13 2020 00:00:00 GMT-0500 (Central Daylight Time)
// and all I'm given is the timeZone value.

最佳答案

要获得对 date-fns 的时区支持,您需要 date-fns-tz附加模块。
然后您可以执行以下操作:

import { zonedTimeToUtc } from 'date-fns-tz';

const dt = zonedTimeToUtc('2020-10-13', 'America/Chicago');
结果将是 Date表示给定时区中的午夜的对象。
请记住 Date对象本身总是基于 UTC。因此,您无法获得 Date “在”不同时区的对象。
此外,您应该将字符串传递到 zonedTimeToUtc功能如图。您不应将其传递给 Date目的。正如评论中所提到的,ECMAScript 规范说应该将仅日期字符串值解析为 UTC。但是,仍然有一些实现没有正确遵循规范。因此,您应该避免使用 Date 解析字符串。对象构造函数。

关于javascript - 如何将日期从一个时区转换为另一个时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64269896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com