Wie erhalte ich das aktuelle Datum oder/und die Uhrzeit in Sekunden mit Javascript?
Antworten
Zu viele Anzeigen?// The Current Unix Timestamp
// 1443535752 seconds since Jan 01 1970. (UTC)
// Current time in seconds
console.log(Math.floor(new Date().valueOf() / 1000)); // 1443535752
console.log(Math.floor(Date.now() / 1000)); // 1443535752
console.log(Math.floor(new Date().getTime() / 1000)); // 1443535752
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
jQuery
console.log(Math.floor($.now() / 1000)); // 1443535752
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Ich benutze dies:
Math.round(Date.now() / 1000)
Keine Notwendigkeit für die Erstellung neuer Objekte (siehe doc Date.now() )
Diese JavaScript-Lösungen geben Ihnen die Millisekunden oder die Sekunden seit Mitternacht, dem 1. Januar 1970, an.
Die IE 9+ Lösung (IE 8 oder die ältere Version unterstützt dies nicht.):
var timestampInMilliseconds = Date.now();
var timestampInSeconds = Date.now() / 1000; // A float value; not an integer.
timestampInSeconds = Math.floor(Date.now() / 1000); // Floor it to get the seconds.
timestampInSeconds = Date.now() / 1000 | 0; // Also you can do floor it like this.
timestampInSeconds = Math.round(Date.now() / 1000); // Round it to get the seconds.
Für weitere Informationen über Date.now()
: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now
Die generische Lösung:
// ‘+’ operator makes the operand numeric.
// And ‘new’ operator can be used without the arguments ‘(……)’.
var timestampInMilliseconds = +new Date;
var timestampInSeconds = +new Date / 1000; // A float value; not an intger.
timestampInSeconds = Math.floor(+new Date / 1000); // Floor it to get the seconds.
timestampInSeconds = +new Date / 1000 | 0; // Also you can do floor it like this.
timestampInSeconds = Math.round(+new Date / 1000); // Round it to get the seconds.
Seien Sie vorsichtig, wenn Sie so etwas wie diesen Fall nicht haben wollen.
if(1000000 < Math.round(1000000.2)) // false.
Date.now()-Math.floor(Date.now()/1000/60/60/24)*24*60*60*1000
Dies sollte Ihnen die Millisekunden vom Beginn des Tages an anzeigen.
(Date.now()-Math.floor(Date.now()/1000/60/60/24)*24*60*60*1000)/1000
Damit sollten Sie Sekunden haben.
(Date.now()-(Date.now()/1000/60/60/24|0)*24*60*60*1000)/1000
Wie zuvor, außer dass ein bitweiser Operator verwendet wird, um die Anzahl der Tage zu ermitteln.