嗨,我正在将UTC时间从服务器传递到客户端的浏览器。时间正确显示,但时区却不正确。时间显示如下:
2014年7月15日星期二19:35:00 GMT-0500
日期和时间正确,但时区不正确。我只想将GMT -0500更改为UTC。当我将其更改为UTC时,可以将其转换为本地时间。
即使您收到的是UTC时间,javascript对象也始终会在控制台中显示为本地时间。例如:
var date = new Date(1405458751062);
为我输出:
Tue Jul 15 2014 17:12:31 GMT-0400
您必须使用该日期对象并输出特定属性。
例如在UTC中:
date.getUTCFullYear() + "-" + (date.getUTCMonth() + 1) + "-" + date.getUTCDate() + " " + date.getUTCHours() + ":" + date.getUTCMinutes();
输出:
2014-7-15 21:12
或当地时间:
date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes();
输出:
2014-7-15 17:12
在我看来,您似乎在错误地解析日期,因为19:35尚未到来。您需要确保正确解析了日期,以便在将日期对象输出到控制台(例如console.log(date)
)时,它将以浏览器的本地时间显示日期。从那里,您必须使用与上述类似的方法在UTC中正确格式化日期。
我建议尽管使用Moment.js。它使生活变得轻松:
var date = moment(1405458751062);
date.toString(); // returns Tue Jul 15 2014 17:12:31 GMT-0400
date.utc().toString(); // returns Tue Jul 15 2014 21:12:31 GMT+0000
date.local().toString(); // returns Tue Jul 15 2014 17:12:31 GMT-0400
该库还使格式化日期变得非常容易。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句