【发布时间】:2023-04-04 10:20:01
【问题描述】:
如果我现在有时间使用 UTC。来自后端的 json 格式,例如:
cache_time: "2019-04-29 06:12:06"
例如。一些用户会在另一个国家或城市打开页面。我如何使用 javascript 将其转换为该用户时间?
【问题讨论】:
-
嗨,到目前为止,您尝试了什么?
标签: javascript reactjs date datetime
如果我现在有时间使用 UTC。来自后端的 json 格式,例如:
cache_time: "2019-04-29 06:12:06"
例如。一些用户会在另一个国家或城市打开页面。我如何使用 javascript 将其转换为该用户时间?
【问题讨论】:
标签: javascript reactjs date datetime
带有“2019-04-29 06:12:06”的字符串不表示时区。如果您在末尾添加一个“Z”,则内置的 Date 函数会理解为 UTC 时间。
const cache_time = "2019-04-29 06:12:06";
const date = new Date ( cache_time + "Z" );
console.log("UTC TIME", date.toISOString())
console.log("LOCAL TIME", date.toLocaleString() );
【讨论】:
Date.parse,因为Date 将解析参数,因为它是一个字符串。
使用 Moment.js 库:
date = new Date("2019-04-29 06:12:06Z");
var withoutUTC = moment(date).toString();
var withUTC = moment.utc(date).toString();
console.log(withoutUTC)
console.log(withUTC)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.js"></script>
【讨论】:
使用 moment.js 将 utc 转换为本地时间。在您的情况下:
moment().utc("2019-04-29 06:12:06").local().format()
【讨论】:
或者您可以使用 spacetime.js,它基于 moment.js 并且还考虑了时区。 const localTimeDate = spacetime().now().format();
【讨论】: