let sd = 1498482000000;
let serverDate = () => new Date() > sd ? (
new Date() - (new Date() - sd)
) : (
new Date() + (sd - new Date())
)
console.log(serverDate()) // 1498482000000
let sd = 1498482000000;
let serverDate = () => new Date() > sd ? (
new Date() - (new Date() - sd)
) : (
new Date() + (sd - new Date())
)
console.log(serverDate()) // 1498482000000
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
每次
new Date()
会得到不同的值,而且计算会花时间,建议用now
缓存:const now = new Date()
now - (now - sd)
,展开就是now - now + sd
,也即now + (sd - now)
,所以两个分支的表达式是等价的,完全没必要写分支最终可省略成一句话:
new Date(sd)
就是服务器时间,何必这么麻烦