将 UTC 日期时间转换为本地日期时间

2022-08-29 23:10:56

从服务器中,我得到了一个这种格式的日期时间变量:它是UTC时间。我想使用JavaScript将其转换为当前用户的浏览器时区。6/29/2011 4:52:48 PM

如何使用JavaScript或jQuery完成此操作?


答案 1

在将字符串转换为 javascript 中的日期之前,将'UTC'附加到字符串中:

var date = new Date('6/29/2011 4:52:48 PM UTC');
date.toString() // "Wed Jun 29 2011 09:52:48 GMT-0700 (PDT)"

答案 2

在我看来,服务器应该始终在一般情况下以标准化的ISO 8601格式返回日期时间。

更多信息在这里:

在这种情况下,服务器将返回,这将直接馈送到JS Date对象中。'2011-06-29T16:52:48.000Z'

var utcDate = '2011-06-29T16:52:48.000Z';  // ISO-8601 formatted date returned from server
var localDate = new Date(utcDate);

将在正确的当地时间,在我的情况下将是两个小时后(DK时间)。localDate

你真的不必做所有这些分析,这只会使事情复杂化,只要你与期望从服务器获得的格式一致。