-1

试图在上海为一个小项目获取 JavaScript 的当前时间。有人知道最简单的方法吗?

4

3 回答 3

3

我像一个懒惰的流浪汉一样使用了moment.js :

var now = moment();
var timeInShanghai = now.tz('Asia/Shanghai').format('h:mma');
于 2013-11-06T02:31:50.113 回答
1

整个中国有一个时区,即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());
}

如果他们更改时区或采用夏令时,这有点没用。

于 2013-11-06T02:46:02.473 回答
0

上海的时区偏移量为 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);
于 2013-11-06T02:20:34.150 回答