javascript如何把UTC时间转换成一个本地时间

我知道某个UTC的值,例如1363737600000,我怎么得到这个值对应的本地时间,如2013-2-20

阅读 28k
3 个回答
new Date(1363737600000)

题目的问题描述修改一下:

//形如这种,应该叫做unix时间戳,
1363737600000 
//形如这种,我们称之为ISO-8601格式的时间       
2017-09-28T16:00:00Z

一般跨时区的应用,数据库中都是存储这两种格式化的时间,前端根据自己所在的时区展示对应的本地时间

把unix时间戳格式化为本地时间,推荐使用moment.js

moment.unix(1318781876).format('YYYY-MM-DD')

把一个ISO时间根据时区转换,推荐使用使用moment.js

//demo
var date = '2017-09-28T16:00:00Z';
var timezone = '"Asia/Shanghai';
moment(date).tz(timezone).format('YYYY-MM-DD hh:mm:ss');

如果是在微信小程序中使用,你需要先去moment官方下载moment-timezone-with-data.js这个文件到你的小程序应用中

const moment = require("./moment-timezone-with-data");
var date = '2017-09-28T16:00:00Z';
var timezone = '"Asia/Shanghai';
moment(date).tz(timezone).format('YYYY-MM-DD hh:mm:ss');

如果你还想获取所有可供选择的时区,推荐使用moment.js

moment.tz.names();

参考

moments.js http://momentjs.com/timezone/
推荐问题
宣传栏