好的,说 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');
永远不会解决:/
好的,说 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');
永远不会解决:/
尝试:
var date = new Date('2012-11-29 17:00:34 UTC');
date.toString();
var offset = new Date().getTimezoneOffset();
offset
将是从本地时间到 UTC 的时间间隔(以分钟为单位)。要从 UTC 日期获取本地时间,您需要从日期中减去分钟数。
utc_date.setMinutes(utc_date.getMinutes() - offset);
要格式化您的日期,请尝试以下功能:
var d = new Date();
var fromatted = d.toLocaleFormat("%d.%m.%Y %H:%M (%a)");
但这样做的缺点是,它是一个非标准函数,在 Chrome 中不起作用,但在 FF (afaik) 中起作用。
克里斯
这是另一个输出 mm/dd/yy 的选项:
const date = new Date('2012-11-29 17:00:34 UTC');
date.toLocaleString();
//output 11/29/2012
上述解决方案是正确的,但可能会在 FireFox 和 Safari 中崩溃!这就是webility.js试图解决的问题。检查toUTC
功能,它适用于大多数主要浏览器,并以 ISO 格式返回时间
您可以查看日期和时间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>
这应该工作
var date = new Date('2012-11-29 17:00:34 UTC');
date.toString()
这适用于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'));
// d = "2021-09-23T15:51:48.31"
console.log(new Date(d + "z").toLocaleDateString()); // gives 9/23/2021
console.log(new Date(d + "z").toLocaleString()); // gives 9/23/2021, 10:51:48 AM
console.log(new Date(d + "z").toLocaleTimeString()); // gives 10:51:48 AM
/*
* 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;
}