Antworten:
var seconds = new Date() / 1000;
Oder für eine weniger hackige Version:
var d = new Date();
var seconds = d.getTime() / 1000;
Vergessen Sie nicht, Math.floor()
oder Math.round()
zu Runde auf die nächste ganze Zahl oder Sie könnten eine sehr ungerade dezimal bekommen , dass Sie nicht wollen:
var d = new Date();
var seconds = Math.round(d.getTime() / 1000);
Number(new Date())
, um eine Zahl oder sogar zu erhalten +(new Date())
, oder eine beliebige Datumsinstanz in einem numerischen Kontext wie verwenden können. new Date()/1000
Javascript konvertiert diese Datumsinstanz hilfreich in eine Zahl, um mit Ihren mathematischen Gleichungen zu arbeiten.
Versuche dies:
new Date().getTime() / 1000
Möglicherweise möchten Sie einen Millisekundenbruch verwenden Math.floor()
oder Math.round()
schneiden.
Sie wollten Sekunden seit der Epoche
function seconds_since_epoch(){ return Math.floor( Date.now() / 1000 ) }
Beispiel verwenden
foo = seconds_since_epoch();
Die obigen Lösungen verwenden Instanzeigenschaften. Eine andere Möglichkeit besteht darin, die class -Eigenschaft zu verwenden Date.now
:
var time_in_millis = Date.now();
var time_in_seconds = time_in_millis / 1000;
Wenn Sie möchten, dass time_in_seconds eine Ganzzahl ist, haben Sie zwei Möglichkeiten:
ein. Wenn Sie mit dem Abschneiden im C-Stil konsistent sein möchten:
time_in_seconds_int = time_in_seconds >= 0 ?
Math.floor(time_in_seconds) : Math.ceil(time_in_seconds);
b. Wenn Sie nur die mathematische Definition der Ganzzahldivision haben möchten, ergreifen Sie einfach das Wort. (Pythons Integer-Division macht das).
time_in_seconds_int = Math.floor(time_in_seconds);
Wenn Sie nur Sekunden als Ganzes ohne die angehängten Dezimalstellen für Millisekunden möchten , verwenden Sie Folgendes:
var seconds = Math.floor(new Date() / 1000);
Mein bevorzugter Weg:
var msEpoch = (+new Date());
var sEpoch = (+new Date()) / 1000;
Weitere Informationen zum +
Sprung in den Kaninchenbau .
Die einfachste Version:
Math.floor(Date.now() / 1000)
In Chrome können Sie die Konsole mit F12 öffnen und den folgenden Code testen:
var date = new Date().getTime()
console.debug('date: ' + date);
if (Date.now() < date)
console.debug('ko');
else
console.debug('ok');
EPOCH means time from 01 January 1970
var date = new Date();
Following line will return the number of milliseconds from 01 Jaunary 1970
var ms = date.getTime();
Following line will convert milliseconds to seconds
var seconds = Math.floor(ms/1000);
console.log("Seconds since epoch =",seconds);
var seconds = new Date() / 1000;
<- Was für eine arkane Magie ist das?