试图在上海的 JavaScript 中获取当前时间,用于一个小项目。有人知道最简单的方法吗?
我用了 moment.js就像一个懒惰的流浪汉:
var now = moment();
var timeInShanghai = now.tz('Asia/Shanghai').format('h:mma');
整个中国有一个时区,即UCT+08:00。因此,如果您希望根据主机的系统设置显示上海的当前时间,请获取本地时间,添加时区偏移量(ECMAScript 时区偏移量是分钟才能获得 UTC,因此 UTC+10:00 是 -600),然后添加上海的偏移量:
function timeInShanghai() {
function z(n){return (n<10?'0':'') + n}
var d = new Date();
d.setMinutes(d.getMinutes() + d.getTimezoneOffset() + 480);
return z(d.getHours()) + ':' + z(d.getMinutes()) + ':' + z(d.getSeconds());
}
如果他们更改时区或采用夏令时,那就有点没用了。
上海的时区偏移量是 8要获取日期:
var date=new Date().getTime();
获取小时,分钟,秒
seconds=parseInt((d/1000)%60);
hours=parseInt((d/(1000*60*60))%60)+8; \for the offset
minutes=parseInt((d/(1000*60))%60);
并把它重新组合成一个字符串:
console.log(hours+":"+minutes+":"+seconds);