Datum und Uhrzeit sind Pflichtkurse, die im Programmierprozess nicht umgangen werden können. Glücklicherweise hat JavaScript
ein integriertes Objekt Datum (Datum) für uns vorbereitet. Über dieses Objekt können wir grundlegende Operationen erstellen, speichern, ändern, messen und drucken. Dies ist einer der erforderlichen Kurse für jeden JavaScript
Programmierer.
ist die gleiche wie bei gewöhnlichen Objekten. Wir können new Date()
verwenden, um ein Date
Objekt zu erstellen, und wir können während der Erstellung auch einige Initialisierungsparameter übergeben.
ohne Parameter:
let now = new Date()console.log(now)
Die Ergebnisse der Codeausführung sind wie folgt:
Dadurch wird einfach der konkrete Zeitpunkt ausgegeben, zu dem der Code ausgeführt wird. Hier wird 2022年6月22日19点25份24秒
angezeigt.
erstellt ein Datumsobjekt mit Millisekundenparametern, wobei sich milliseconds
auf die Anzahl der Millisekunden seit UTC+0 am 1. Januar 1970 beziehen (1 Millisekunde = 1/1000 Sekunden).
//Erstelle eine Zeit, zum Beispiel 1970.1.1 Zeitpunkt 0 Millisekunden let jan01_1970 = new Date(0) console.log(01.01.1970) //Erstelle eine Zeit, die 3 Tage später als der 1.1-Zeitpunkt im Jahr 1970 liegt (3 Tage * 24 Stunden * 3600 Sekunden * 1000 Millisekunden) let jan04_1970 = neues Datum(3 * 24 * 3600 * 1000) Console.log(jan04_1970)
Ergebnisse der Codeausführung:
milliseconds
ist die Anzahl der Millisekunden, die seit dem 1. Januar 1970, 00:00:00 Uhr, vergangen sind, oder wird als Zeitstempel bezeichnet.
Der Zeitstempel ist eine einfache digitale Darstellung des Datums. Normalerweise verwenden wir new Date(milliseconds)
um ein Datum zu erstellen. Wenn wir bereits ein Date
Objekt haben, können wir date.getTime()
verwenden, um den dem Datum entsprechenden Zeitstempel abzurufen.
Hinweis:
China liegt in Zone 8, daher ist die Zeit im obigen Beispiel nicht 00:00:00, sondern 08:00:00,
Der Zeitstempel ist nicht nur eine Ganzzahl, sondern kann auch eine negative Zahl sein, zum Beispiel:
//1969-12-31 00:00:00let dec31_1969 = new Date(-24 * 3600 * 1000)console.log(dec31_1969)
Code Ausführungsergebnis:
Wennbei jeder Erstellung einen Zeitstempel verwendet, ist dies möglicherweise nicht praktisch, da die Berechnung des Zeitstempels immer noch etwas schwierig ist.
Wir können auch eine Zeitzeichenfolge verwenden, um eine Uhrzeit zu erstellen, zum Beispiel:
let date = new Date('2022-06-22 00:00:00') console.log(date)
Ergebnisse der Codeausführung:
year
– muss eine vierstellige Zahl seinmonth
[0,11]
, 0
bedeutet Januar-1
;hours/minutes/sec/ms
– der Standard ist 0,zum Beispiel:
let date = new Date(2022,6,22,20,35,33)console.log(date)
Code-Ausführungsergebnisse:
Wir können auch die Anzahl der Millisekunden angeben:
let date = new Date(2022,6,22,20,35,33,777)console.log(date)
Wenn wir ein Date
-Objekt haben, können wir das Build übergeben -in-Methode Date
-Objekts, um einen Teil der Zeit abzurufen, z. B. Jahr, Monat, Datum usw.
Zum Beispiel haben wir date
:
let date = new Date(2022,5,22,20,35,33)
getFullYear()
ruft das Jahr ab, date.getFullYear()
gibt 2022
zurückgetMonth()
Monat, date.getMonth()
gibt 5
zurück, also 6
;getDate()
ruft das Datum des aktuellen Monats ab, date.getDate()
gibt 22
zurück;getDay()
ruft den Wochentag ab, an dem die aktuelle Zeit ist, date.getDay()
gibt 3
zurück.Hinweis:
- Die oben genannten Daten basieren alle auf lokalen Daten.
getYear
das Jahr zu erhalten, müssen SiegetFullYear
verwenden.
Wir können auch die Zeit in der Zeitzone 0
erhalten, also der UTC
Zeit, entsprechend getUTCFullYear()
und getUTCMonth()
, getUTCDay
usw. Fügen Sie einfach UTC
nach get
ein.
Zum Beispiel:
let date = new Date(2022,5,22,20,35,33)console.log(date.getHours(),date.getUTCHours())
Ergebnisse der Codeausführung:
Auch nachts ist zu erkennen, dass der Unterschied zwischen der Zeitzone Chinas und der Zeitzone 0
8
Stunden beträgt.
getTime()
gibt den Zeitstempel des Datums zurück, und die Methode verfügt nicht über einen UTC
Modus;getTimezoneOffset()
gibt den Zeitunterschied zwischen der lokalen Zeitzone und der Zeitzone 0
zurück, und es gibt UTC
wir können das Datum auch über die Methode Date
-Objekts festlegen. Ein bestimmter Teil von:
setFullYear(year, [month], [date])
setzt das Jahr (Monat, Tag)setMonth(month, [date])
Setzt den Monat (Tag)setDate(date)
Setzt das Datum (den Tag des Monats)setHours(hour, [min], [sec], [ms])
Setzt Stunden (Minuten, Sekunden, Millisekunden)setMinutes(min, [sec], [ms])
Minuten festlegen (Sekunden, Millisekunden)setSeconds(sec, [ms])
Sekunden festlegen (Millisekunden)setMilliseconds(ms)
Millisekunden festlegensetTime(milliseconds)
(Anzahl der Millisekunden seit 1970-01-01 00:00:00 UTC+0
verwenden). 1970-01-01 00:00:00 UTC+0
um das gesamte Datum festzulegen)Unter den oben genannten Funktionen ist nur setTime()
eine UTC
Variante.
JavaScript
Date
verfügt über eine automatische Kalibrierungsfunktion, die uns bei der Zeitberechnung großen Komfort bietet.
Zum Beispiel:
let date = new Date(2022,5,38)//Beachten Sie hier die Ausführungsergebnisse des 38console.log(date)-Codes
:
Anhand der Ausführungsergebnisse können wir erkennen, dass „38. Juni 2022“ keinen Fehler im Programm verursacht hat, sondern das Datum in „8. Juli 2022“ umgewandelt hat.
Der obige Fall hat bestätigt, dass in JavaScript
Datumsangaben außerhalb des Bereichs automatisch vom Date
Objekt zugewiesen werden. Auf diese Weise können wir Date
Objekt verwenden, um Datumsangaben sehr bequem zu berechnen.
Zum Beispiel können wir Jahr, Monat und Tag zum Datum addieren und subtrahieren:
let date = new Date(2022,5,23)//The current time is 2022-6-23date.setDate(date.getDate() + 8)//Berechnen Sie die Zeit nach acht Tagen console.log(date)
Ergebnisse der Codeausführung:
Ebenso können wir auch die Methode date.setSeconds()
verwenden, um das Datum in Sekunden zu berechnen.
und Date
ist dasselbe wie der Rückgabewert von date.getTime()
, bei dem es sich um einen Wert in Millisekunden handelt:
let date = new Date()console.log(+date)
code Ausführungsergebnis:
Da das Wesen der Zeit eine Zahl ist, können wir Zeitdifferenzberechnungen auch in ms
(Millisekunden) durchführen.
Beispiel:
let date1 = new Date(2022,5,23)let date2 = new Date(2022,5,24)console.log(`Der Zeitunterschied beträgt ${date2-date1}ms`)
Das Ergebnis der Codeausführung ist :
Wenn wir die aktuelle Uhrzeit erhalten möchten, ist die Verwendung der Methode Date.now()
ein besserer Ansatz. Diese Methode gibt den Zeitstempel der aktuellen Zeit zurück, ohne zusätzliche Date
zu erstellen, was sich positiv auf den Speicheraufwand und die Speicherbereinigung auswirkt und den Code vereinfacht.
Zum Beispiel:
let begin = Date.now()for(let i = 1;i<100000;i++){ let num = i * i * i;}let end = Date.now()console.log(`consume time ${end - begin}ms`)
Ergebnisse der Codeausführung:
Die Methode Date.parse()
kann eine Datumszeichenfolge lesen und in einen Zeitstempel umwandeln, die Zeichenfolge muss jedoch bestimmten Regeln entsprechen: YYYY-MM-DDTHH:mm:ss.sssZ
.
YYYY-MM-DD
entspricht年-月-日
T
gehört zum TrennzeichenHH:mm:ss.sss
entspricht时:分:秒.毫秒
Z
kann eine Zeitzone im Format +-hh:mm
sein. Ein einzelnes Zeichen Z
stellt eine UTC+0
Zeichenfolge dar, die in abgekürzter Form geschrieben werden kann, zum Beispiel: YYYY-MM-DD
, YYYY-MM
, YYYY
.
Um Ihnen einen kleinen Tipp zu geben:
let ms = Date.parse('2022-06-23T19:38:30.777+08:00')//Time stamp let date = new Date(ms)console.log(date)
Codeausführung Ergebnis:
JavaScript
verwendet Date
Objekt, um die Zeit zu verarbeiten: new Date()
;Date
verfügt über viele praktische Methoden, und wir können einen bestimmten ZeitraumDate
kalibrieren Datumsangaben direkt addieren und subtrahieren;Date.now()
kann die aktuelle Uhrzeit effizient ermitteln;