如果本地系统如Ubuntu,用的就是UTC时间,那么getTiezoneOffset()将返回0,上面的过程就失效了。

如果要强制转成北京时间,也很简单,就是硬编码-28800000

> a = new Date(new Date().getTime() + 28800000)
2017-01-18T17:34:31.296Z

注意:转换之后的时间本质上是格林威治时间,只不过我们再调用getHours()等函数的时候,获取的数值是本地的。

当然,也可以用这个方法一次拿到结果 ;-)

new Date().toLocaleString('zh-CN')
基于Node.js开发开发的时候,调用new Date()出来的时间是这样的:2017-01-18T09:30:38.405Z 而当前时间北京时间是17:30,为了不让自己总有穿越感,于是需要转换一下。过程可以是这样的(在Node.js的命令行下): > a = new Date();2017-01-18T09:30:38.405Z> m = a.getT... var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.3.0");  xmlhttp.open("GET", "http://bjtime.cn", false);  xmlhttp.setRequestHeader("If-Modified-Since", "bj
在项目做倒计时功能时用 new Date ().getTime() 获取 到的本地客户端的 时间 ,假如用户本地的 时间 和服务器 时间 北京时间 不一致的话会导致显示的倒计时不一致的问题。 $.ajax({ url: '', type: 'get', success: function (data, status, xhr) { var s...
打开数据库 的时区,发现是 中国 标准时CST 而 node mysql默认使用的是UTC通用标准时(协调世界时,又称世界统一 时间 、世界标准 时间 、国际协调 时间 ) 再不更改底层文件的最优方案,更改数据连接参数 在连接mysql的配置文件 添加一条,timezone:"08:00",如下
1. node js通过 new Date () 获取 本机当前 时间 后进行字符串格式化,在我本机windows电脑上运行返回结果正常 2.将代码部署到服务器(centos)上后发现 获取时间 是相差八小时的 3.服务器可能时区设置不在 北京时间 (东八区) 4.使用moment插件时只需要强制当前 获取 时间 为东八区 时间 即可。 //强制 获取 东八区当前 时间 let date =moment( new Date ()).utcOffset(8).format('YYYY-MM-DD HH:mm:ss'); * method: