当前位置: 首页 > 知识库问答 >
问题:

Javascript:如何让区域设置字符串反映本地浏览器时区,而不是前端的UTC?[重复]

公孙慎之
2023-03-14

我有一个dateTime对象,我用它来反映项目的状态。以下是我的对象代码:

let status = new Date(Date.parse(dateTime)).toLocaleString('en-US', {year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute:'2-digit'}))

当前状态返回,无论时区如何: 10/19/2022 22:13 PM

我在美国中部时间。当我控制台.log

new Date(Date.parse(dateTime))

我得到 2022 年 10 月 19 日星期三 22:13:00 GMT-0500(中部夏令时间)。

但是,当我将计算机的时间更改为美国东部时间时,我得到:2022 年 10 月 19 日星期三 22:13:00 GMT-0400(东部夏令时间)。

这是不正确的。我预计东部时间将显示晚上 11:13 或 23:13:00。我应该如何修改代码以反映实际的本地浏览器时间?

共有1个答案

云默
2023-03-14

实际上,我在这个演示的帮助下弄明白了这一点。

现在我的代码如下:

js prettyprint-override">let dateTime = '2022-10-19T22:13:17';
let dateInUTC = new Date(Date.parse(dateTime)).toLocaleString() + ' UTC';
let localDate = new Date(dateInUTC);
let status = localDate.toLocaleString('en-US', {
  year: 'numeric',
  month: '2-digit',
  day: '2-digit',
  hour: '2-digit',
  minute: '2-digit'
});

console.log(status);
 类似资料: