我如何通过JavaScript获取上海当前时间?

时间:2013-11-06 01:57:38

标签: javascript time timezone

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

3 个答案:

答案 0 :(得分:2)

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

var now = moment();
var timeInShanghai = now.tz('Asia/Shanghai').format('h:mma');

答案 1 :(得分: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());
}

如果他们改变时区或采用夏令时,有点无用。

答案 2 :(得分: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);