Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Leitfaden
  4. Darstellung von Daten und Zeiten

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

Darstellung von Daten und Zeiten

Hinweis:DasDate-Objekt wird jetzt als veraltet angesehen und sollte in neuem Code vermieden werden. Wir werden diese Seite bald mit modernen Alternativen aktualisieren.

Date-Objekt

JavaScript verfügt nicht über einen Datentyp für Datum. Sie können jedoch dasDate-Objekt und dessen Methoden verwenden, um in Ihren Anwendungen mit Daten und Zeiten zu arbeiten. DasDate-Objekt verfügt über eine Vielzahl von Methoden zum Setzen, Abfragen und Manipulieren von Daten, jedoch über keine Eigenschaften.

JavaScript behandelt Daten ähnlich wie Java. Beide Sprachen haben viele der gleichen Datums-Methoden, und beide speichern Daten als die Anzahl der Millisekunden seit Mitternacht am Beginn des 1. Januar 1970 UTC, wobei ein Unix-Timestamp die Anzahl der Sekunden seit demselben Zeitpunkt darstellt. Der Moment um Mitternacht am Beginn des 1. Januar 1970 UTC wird alsEpoche bezeichnet.

Der Bereich desDate-Objekts reicht von -100.000.000 Tagen bis 100.000.000 Tagen relativ zur Epoche.

Um einDate-Objekt zu erstellen:

js
const dateObjectName = new Date([parameters]);

wobeidateObjectName der Name des erstelltenDate-Objekts ist; es kann sich um ein neues Objekt oder eine Eigenschaft eines vorhandenen Objekts handeln.

Der Aufruf vonDate ohne dasnew-Schlüsselwort gibt einen String zurück, der das aktuelle Datum und die aktuelle Zeit darstellt.

Dieparameters in der vorhergehenden Syntax können eines der folgenden sein:

  • Nichts: erstellt das heutige Datum und die aktuelle Uhrzeit. Zum Beispieltoday = new Date();.
  • Ein String, der ein Datum darstellt, in vielen verschiedenen Formen. Die genauen Formen unterscheiden sich je nach Engine, aber die folgende Form wird immer unterstützt:YYYY-MM-DDTHH:mm:ss.sssZ. Beispielsweisexmas95 = new Date("1995-12-25"). Wenn Sie Stunden, Minuten oder Sekunden weglassen, wird der Wert auf null gesetzt.
  • Eine Reihe von Ganzzahlen für Jahr, Monat und Tag. Zum Beispielxmas95 = new Date(1995, 11, 25).
  • Eine Reihe von Ganzzahlen für Jahr, Monat, Tag, Stunde, Minute und Sekunden. Zum Beispielxmas95 = new Date(1995, 11, 25, 9, 30, 0);.

Methoden des Date-Objekts

Die Methoden desDate-Objekts zur Handhabung von Daten und Zeiten fallen in die folgenden Hauptkategorien:

  • "set"-Methoden, um Datums- und Zeitwerte inDate-Objekten zu setzen.
  • "get"-Methoden, um Datums- und Zeitwerte ausDate-Objekten zu erhalten.
  • "to"-Methoden, um String-Werte ausDate-Objekten zurückzugeben.
  • parse- und UTC-Methoden, umDate-Strings zu parsen.

Mit den "get"- und "set"-Methoden können Sie Sekunden, Minuten, Stunden, den Tag des Monats, den Wochentag, Monate und Jahre separat abfragen und setzen. Es gibt einegetDay-Methode, die den Wochentag zurückgibt, jedoch keine entsprechendesetDay-Methode, da der Wochentag automatisch gesetzt wird. Diese Methoden verwenden Ganzzahlen zur Darstellung dieser Werte wie folgt:

  • Sekunden und Minuten: 0 bis 59
  • Stunden: 0 bis 23
  • Wochentag: 0 (Sonntag) bis 6 (Samstag)
  • Datum: 1 bis 31 (Tag des Monats)
  • Monate: 0 (Januar) bis 11 (Dezember)
  • Jahr: Jahre seit 1900

Zum Beispiel, wenn Sie das folgende Datum definieren:

js
const xmas95 = new Date("1995-12-25");

Dann gibtxmas95.getMonth() 11 zurück undxmas95.getFullYear() gibt 1995 zurück.

DiegetTime- undsetTime-Methoden sind nützlich zum Vergleichen von Daten. DiegetTime-Methode gibt die Anzahl der Millisekunden seit der Epoche für einDate-Objekt zurück.

Beispielsweise zeigt der folgende Code die Anzahl der Tage an, die im aktuellen Jahr verbleiben:

js
const today = new Date();const endYear = new Date(1995, 11, 31, 23, 59, 59, 999); // Set day and monthendYear.setFullYear(today.getFullYear()); // Set year to this yearconst msPerDay = 24 * 60 * 60 * 1000; // Number of milliseconds per daylet daysLeft = (endYear.getTime() - today.getTime()) / msPerDay;daysLeft = Math.round(daysLeft); // Returns days left in the year

Dieses Beispiel erstellt einDate-Objekt mit dem Namentoday, das das heutige Datum enthält. Dann wird einDate-Objekt namensendYear erstellt und das Jahr auf das aktuelle Jahr gesetzt. Dann berechnet es mithilfe der Anzahl der Millisekunden pro Tag die Anzahl der Tage zwischentoday undendYear, indemgetTime verwendet wird und auf eine ganze Anzahl von Tagen gerundet wird.

Dieparse-Methode ist nützlich, um Werte aus Datumstrings bestehendenDate-Objekten zuzuweisen. Zum Beispiel verwendet der folgende Codeparse undsetTime, um einemipoDate-Objekt einen Datumwert zuzuweisen:

js
const ipoDate = new Date();ipoDate.setTime(Date.parse("Aug 9, 1995"));

Beispiel

Im folgenden Beispiel gibt die FunktionJSClock() die Zeit im Format einer Digitaluhr zurück.

js
function JSClock() {  const time = new Date();  const hour = time.getHours();  const minute = time.getMinutes();  const second = time.getSeconds();  let temp = String(hour % 12);  if (temp === "0") {    temp = "12";  }  temp += (minute < 10 ? ":0" : ":") + minute;  temp += (second < 10 ? ":0" : ":") + second;  temp += hour >= 12 ? " P.M." : " A.M.";  return temp;}

DieJSClock-Funktion erstellt zuerst ein neuesDate-Objekt namenstime; da keine Argumente angegeben sind, wirdtime mit dem aktuellen Datum und der aktuellen Uhrzeit erstellt. Dann weisen Aufrufe dergetHours,getMinutes undgetSeconds-Methoden den Wert der aktuellen Stunde, Minute und Sekundehour,minute undsecond zu.

Die folgenden Anweisungen erstellen einen String-Wert basierend auf der Zeit. Die erste Anweisung erstellt eine Variabletemp. Ihr Wert isthour % 12, was diehour im 12-Stunden-System ist. Dann wirdhour bei einem Wert von0 auf12 neu zugewiesen, sodass Mitternacht und Mittag als12:00 anstelle von0:00 angezeigt werden.

Die nächste Anweisung fügt demtemp-Wert derminute hinzu. Wenn der Wert vonminute kleiner als 10 ist, fügt der bedingte Ausdruck einen String mit einer vorangestellten Null hinzu; andernfalls fügt er einen String mit einem abgrenzenden Doppelpunkt hinzu. Dann fügt eine Anweisung auf die gleiche Weise einen Sekundenwert zutemp hinzu.

Schließlich fügt ein bedingter Ausdruck "P.M." zutemp hinzu, wennhour 12 oder größer ist; andernfalls wird "A.M." zutemp hinzugefügt.

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp