关于reactjs:在javascript中将时间转换为客户端本地时间

Convert time to client local time in javascript

本问题已经有最佳答案,请猛点这里访问。

如果我现在有一些UTC时间。 来自json格式的后端,如:

1
cache_time:"2019-04-29 06:12:06"

例如。 一些用户将在另一个国家或城市打开页面。 我如何使用javascript将其转换为此用户时间?


带有"2019-04-29 06:12:06"的字符串不表示时区。 如果在末尾添加"Z",则内置Date函数会理解时间是UTC。

1
2
3
4
5
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() );


使用Moment.js库:

1
2
3
4
5
6
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)
1
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.js">


使用moment.js将utc转换为本地时间。在您的情况下:
moment().utc("2019-04-29 06:12:06").local().format()


或者您可以使用基于moment.js的spacetime.js,并考虑时区。const localTimeDate = spacetime().now().format();