如何像new Date()取当前时间一样取服务器时间?

let sd = 1498482000000;

let serverDate = () => new Date() > sd ? (
    new Date() - (new Date() - sd)
) : (
    new Date() + (sd - new Date())
)

console.log(serverDate()) // 1498482000000
阅读 3.5k
1 个回答
  1. 每次 new Date() 会得到不同的值,而且计算会花时间,建议用 now 缓存:const now = new Date()

  2. now - (now - sd),展开就是 now - now + sd,也即 now + (sd - now),所以两个分支的表达式是等价的,完全没必要写分支

  3. 最终可省略成一句话:new Date(sd) 就是服务器时间,何必这么麻烦

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题