635 Stimmen

Was ist der beste Weg, um ein JavaScript Datum auf Mitternacht zu initialisieren?

Was ist der einfachste Weg, um eine Instanz von new Date() aber die Zeit auf Mitternacht einstellen?

1273voto

Christian C. Salvadó Punkte 763569

Les setHours Methode kann optional minutes , seconds y ms Argumente, zum Beispiel:

var d = new Date();
d.setHours(0,0,0,0);

Damit wird die Zeit auf 00:00:00.000 de Ihre aktuelle Zeitzone Wenn Sie in UTC-Zeit arbeiten möchten, können Sie die Option setUTCHours Methode.

340voto

Dan Punkte 51805

Ich wollte nur klarstellen, dass das Snippet aus der akzeptierten Antwort die die nächste Mitternacht in der Vergangenheit :

var d = new Date();
d.setHours(0,0,0,0); // last midnight

Wenn Sie die nächste Mitternacht in der Zukunft verwenden Sie den folgenden Code:

var d = new Date();
d.setHours(24,0,0,0); // next midnight

134voto

Zon Punkte 15646

Ein Einzeiler für Objektkonfigurationen:

new Date(new Date().setHours(0,0,0,0));

Beim Erstellen eines Elements:

dateFieldConfig = {
      name: "mydate",
      value: new Date(new Date().setHours(0, 0, 0, 0)),
}

25voto

andyhasit Punkte 12681

Ich füge das hier nur hinzu, weil ich auf dieser Seite gelandet bin, weil ich nach einer Anleitung gesucht habe, wie man das in moment.js und andere können das auch.

[Begründung: Das Wort "Moment" taucht bereits an anderer Stelle auf dieser Seite auf, so dass Suchmaschinen hierher leiten, und moment.js weit genug verbreitet ist, um eine Behandlung zu rechtfertigen, wenn man bedenkt, wie oft es in anderen datumsbezogenen SO-Fragen erwähnt wird]

Also, in Version 2.0.0 und höher:

date.startOf('day');

Für frühere Versionen:

date.sod();

Dokumente:

http://momentjs.com/docs/#/manipulating/start-of/

25voto

Stan Punkte 197

Sie können wahrscheinlich Folgendes verwenden

new Date().setUTCHours(0,0,0,0)

wenn Sie den Wert nur einmal benötigen.

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