//形如这种,应该叫做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/
来源:https://segmentfault.com/q/1010000000171714

作者 铁血 汉子 2017年11月28日
2024/11/24/02:33:24am 2017/11/28/2:42:10
0 5196