2018-07-03T10:18:58.000Z是什么时间格式
UTC:时间标准时间,世界标准时间 ✅
GMT:格林尼治时间
GST:北京时间
js如何处理UTC时间格式
遇到问题:用了阿里云的接口,发现传的日期是UTC格式的。需要转换。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
let time = "2018-07-03T10:18:58.000Z";
function formatUTC(utc_datetime) {
// 转为正常的时间格式 年-月-日 时:分:秒
var T_pos = utc_datetime.indexOf("T");
var Z_pos = utc_datetime.indexOf("Z");
var year_month_day = utc_datetime.substr(0, T_pos);
var hour_minute_second = utc_datetime.substr(
T_pos + 1,
Z_pos - T_pos - 1
);
var new_datetime = year_month_day + " " + hour_minute_second; // 2017-03-31 08:02:06
// 处理成为时间戳
var timestamp = new Date(Date.parse(new_datetime));
timestamp = timestamp.getTime();
timestamp = timestamp / 1000;
// 增加8个小时,北京时间比utc时间多八个时区
timestamp = timestamp + 8 * 60 * 60;
// 时间戳转为时间
var beijing_datetime = new Date(parseInt(timestamp) * 1000)
.toLocaleString()
.replace(/年|月/g, "-")
.replace(/日/g, " ");
return beijing_datetime;
}
console.log(formatUTC(time)); // 打印:2018/7/3 下午6:18:58
</script>
</body>
</html>