如何将本地日期和时间(例如 EST)转换为 UTC?

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

我正在尝试使用Javascript,并且想尝试转换一个日期和时间来指示帖子发布的时间(例如社交媒体网站),这是本地时区(所以如果我的系统是EST,则页面将显示为 EST)。我想让 JS 也知道我的电脑所在的时区,然后获取显示的发布日期(假设其发布日期与我的电脑相同),并将其转换为 UTC。我理解 toISOString,即自纪元开始工作以来的毫秒数。但是如何将网页上显示的本地日期和时间转换为 UTC?

这是一个例子:https://bsky.app/profile/kimscaravelli.bsky.social/post/3klaue65stp2x

我所在时区电脑上的发布日期显示为美国东部时间 -“2024 年 2 月 12 日下午 5:12”。然而,当你们查看发布日期时,情况可能会有所不同。我还知道夏令时确实会影响多个时区,但 UTC 和自纪元以来的毫秒数不受影响。我不想手动设置我的电脑或网站设置以使网站显示 UTC 时间,而是我想要 JS 代码,无论您位于哪个时区,在本地显示日期的帖子都会始终显示相同的 UTC 时间。

javascript date time
1个回答
0
投票

要在 JavaScript 中将网页上显示的本地日期和时间转换为 UTC,您可以使用以下步骤:

  1. 从网页获取本地日期和时间。
  2. 使用
    Date.parse()
    new Date()
    从本地日期和时间字符串创建 Date 对象。
  3. 获得 Date 对象后,您可以使用
    getTime()
    方法获取该日期和时间的 UTC 时间戳(自纪元以来的毫秒数)。

以下是如何在 JavaScript 中实现此目的的示例:

// Get the local date and time from the webpage
const localDateAndTime = "Feb 12, 2024 5:12 PM";

// Create a Date object from the local date and time
const localDateObject = new Date(localDateAndTime);

// Get the timestamp for the local date and time in UTC
const utcTimestamp = localDateObject.getTime();

// Display the UTC timestamp
console.log(utcTimestamp);

通过执行以下步骤,您将能够获取给定本地日期和时间的 UTC 时间戳,无论查看网页的用户位于哪个时区。

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