好的,请说JSON解析字符串UTC日期如下:
2012-11-29 17:00:34 UTC
现在,如果我想将此UTC日期转换为当地时间,我该怎么做?
如何将其格式化为yyyy-MM-dd HH:mm:ss z
等其他内容?
此date.toString('yyyy-MM-dd HH:mm:ss z');
永远无法解决:/
答案 0 :(得分:46)
尝试:
var date = new Date('2012-11-29 17:00:34 UTC');
date.toString();
答案 1 :(得分:35)
var offset = new Date().getTimezoneOffset();
offset
将是从本地时间到UTC的间隔(以分钟为单位)。要从UTC日期获取本地时间,您可以从日期中减去分钟数。
utc_date.setMinutes(utc_date.getMinutes() - offset);
答案 2 :(得分:1)
这应该有效
var date = new Date('2012-11-29 17:00:34 UTC');
date.toString()
答案 3 :(得分:1)
要设置日期格式,请尝试以下功能:
var d = new Date();
var fromatted = d.toLocaleFormat("%d.%m.%Y %H:%M (%a)");
但缺点是,这是一个非标准功能,它在Chrome中不起作用,但在FF(afaik)中工作。
克里斯
答案 4 :(得分:1)
上述解决方案是正确的,但可能会在FireFox和Safari中崩溃!这就是webility.js试图解决的问题。检查toUTC
功能,它适用于大多数主要的浏览器,并以ISO格式返回时间
答案 5 :(得分:0)
您可以使用 date-and-time API轻松进行日期操作。
let now = date.format(new Date(), 'YYYY-MM-DD HH:mm:ss', true);
console.log(now);
<script src="https://cdn.jsdelivr.net/npm/date-and-time/date-and-time.min.js"></script>
答案 6 :(得分:0)
这是另一个输出mm / dd / yy的选项:
const date = new Date('2012-11-29 17:00:34 UTC');
date.toLocaleString();
//output 11/29/2012
答案 7 :(得分:0)
这适用于 Chrome 和 Firefox。
未在其他浏览器上测试。
const convertToLocalTime = (dateTime, notStanderdFormat = true) => {
if (dateTime !== null && dateTime !== undefined) {
if (notStanderdFormat) {
// works for 2021-02-21 04:01:19
// convert to 2021-02-21T04:01:19.000000Z format before convert to local time
const splited = dateTime.split(" ");
let convertedDateTime = `${splited[0]}T${splited[1]}.000000Z`;
const date = new Date(convertedDateTime);
return date.toString();
} else {
// works for 2021-02-20T17:52:45.000000Z or 1613639329186
const date = new Date(dateTime);
return date.toString();
}
} else {
return "Unknown";
}
};
// TEST
console.log(convertToLocalTime('2012-11-29 17:00:34 UTC'));
答案 8 :(得分:-6)
/*
* convert server time to local time
* simbu
*/
function convertTime(serverdate) {
var date = new Date(serverdate);
// convert to utc time
var toutc = date.toUTCString();
//convert to local time
var locdat = new Date(toutc + " UTC");
return locdat;
}