如何在 JavaScript 中获取上海的当前时间

How do I get the current time in Shanghai in JavaScript?

本文关键字:时间 上海 获取 JavaScript      更新时间:2023-09-26

试图在上海的 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);