node.js环境与浏览器环境的new Date ()的区别

原创 御坂御坂 随笔 Node.js 125阅读 2018-03-19 11:26:01 举报

某次,群员提出了一个问题:在node环境中new Date ()生成的时间戳与实际时间相差八个小时,为什么,以及如何解决。
我在自己本机实验后发现,确实存在相差八个小时的问题,此时,我忽然想到,中国位于东八区,与格林尼治时间的差正好是+8小时。于是,我分别在浏览器与node中将 Date数据转换成UTC时间与本地时间,结果恰如所料。由此,我得出了几点结论:

  1. node.js中new Date()生成的是UTC时间, 浏览器生成的是本地时间;
  2. 在node环境中使用 Date.parse(new Date((new Date()).toLocaleString())) 来生成本地时间的时间戳;
  3. 相对的,在浏览器中,使用Date.UTC(year,month,day,hours,minutes,seconds,ms)date.toUTCString()方法来生成基于UTC的时间戳。不过这种方法比较麻烦,个人比较倾向于上一种方法。
评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复