let sd = 1498482000000;
let serverDate = () => new Date() > sd ? (
new Date() - (new Date() - sd)
) : (
new Date() + (sd - new Date())
)
console.log(serverDate()) // 1498482000000
業(yè)精于勤,荒于嬉;行成于思,毀于隨。
每次 new Date()
會得到不同的值,而且計算會花時間,建議用 now
緩存:const now = new Date()
now - (now - sd)
,展開就是 now - now + sd
,也即 now + (sd - now)
,所以兩個分支的表達(dá)式是等價的,完全沒必要寫分支
最終可省略成一句話:new Date(sd)
就是服務(wù)器時間,何必這么麻煩