我从服务器获得了一个datetime变量,格式是:6/29/2011 4:52:48 PM
,它采用的是UTC时间。我想使用JavaScript将其转换为当前用户的浏览器时区。
如何使用JavaScript或jQuery来实现这一点?
发布于 2011-06-30 02:42:23
在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)"
发布于 2013-08-20 16:43:54
这是一个通用的解决方案:
function convertUTCDateToLocalDate(date) {
var newDate = new Date(date.getTime()+date.getTimezoneOffset()*60*1000);
var offset = date.getTimezoneOffset() / 60;
var hours = date.getHours();
newDate.setHours(hours - offset);
return newDate;
}
用法:
var date = convertUTCDateToLocalDate(new Date(date_string_you_received));
根据客户端本地设置显示日期:
date.toLocaleString();
发布于 2018-02-16 15:38:19
对我来说,上面的解决方案不起作用。
使用IE将UTC日期时间转换为本地时间有点麻烦。对我来说,来自web API的date-time是'2018-02-15T05:37:26.007'
,我想根据本地时区进行转换,所以我在JavaScript中使用了以下代码。
var createdDateTime = new Date('2018-02-15T05:37:26.007' + 'Z');
https://stackoverflow.com/questions/6525538
复制相似问题