Něco podobného časovému razítku Unixu, to je jediné číslo, které představuje aktuální čas a datum. Buď jako číslo nebo řetězec.
Odpověď
Short &Snazzy:
+ new Date()
Unární operátor jako plus
spustí valueOf
metoda v Date
objekt a vrátí časové razítko (bez jakékoli změny).
Podrobnosti:
Téměř ve všech současných prohlížečích můžete použít Date.now()
získat časové razítko UTC v milisekundách; významnou výjimkou je IE8 a starší (viz tabulka kompatibility).
K tomu si však můžete snadno vyrobit podložku:
if (!Date.now) { Date.now = function() { return new Date().getTime(); } }
Chcete-li získat časové razítko za sekundy , můžete použít:
Math.floor(Date.now() / 1000)
Nebo můžete použít:
Date.now() / 1000 | 0
Což by mělo být o něco rychlejší, ale také hůře čitelné.
(viz také tuto nebo tuto odpověď s dalším vysvětlením pro bitové operátory).
Doporučuji použít Date.now()
(s podložkou kompatibility). Je o něco lepší, protože je kratší a nevytváří nový Date
objekt. Pokud však nechcete podložku a maximální kompatibilitu, můžete použít „starou“ metodu k získání časového razítka v milisekundách :
new Date().getTime()
Které pak můžete převést na sekundy takto:
Math.round(new Date().getTime()/1000)
A můžete také použít valueOf
metoda, kterou jsme si ukázali výše:
new Date().valueOf()
Časové razítko v milisekundách
var timeStampInMs = window.performance && window.performance.now && window.performance.timing && window.performance.timing.navigationStart ? window.performance.now() + window.performance.timing.navigationStart : Date.now(); console.log(timeStampInMs, Date.now());