358 Stimmen

Wie erhalte ich das aktuelle Datum oder/und die Uhrzeit in Sekunden?

Wie erhalte ich das aktuelle Datum oder/und die Uhrzeit in Sekunden mit Javascript?

13voto

blueberry0xff Punkte 3479
// 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>

8voto

V. Sambor Punkte 10175

Ich benutze dies:

Math.round(Date.now() / 1000)

Keine Notwendigkeit für die Erstellung neuer Objekte (siehe doc Date.now() )

5voto

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.

2voto

CEO RecDecLec Punkte 23
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.

1voto

tetta Punkte 425

Sie können einen anderen Weg finden, um die Zeit in Sekunden/Millisekunden seit dem 1. Januar 1970 zu erhalten:

var milliseconds = +new Date;        
var seconds = milliseconds / 1000;

Aber seien Sie vorsichtig mit einem solchen Ansatz, denn es könnte schwierig sein, ihn zu lesen und zu verstehen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X