Inhaltsverzeichnis
1. Der Konstruktor
2. Nullwertverarbeitung
3. Besondere Erinnerung
4. Wertgrenzen
5. 2038 Bug
7. Bibliothek
Heim Web-Frontend js-Tutorial Detaillierte Erklärung der Date-Klasse in Javascript (Codebeispiel)

Detaillierte Erklärung der Date-Klasse in Javascript (Codebeispiel)

Sep 12, 2018 pm 05:24 PM
html5 javascript node.js

Dieser Artikel enthält eine detaillierte Erklärung (Codebeispiel) der Date-Klasse in JavaScript. Ich hoffe, dass er für Freunde hilfreich ist.

Datum ist ein wichtiges integriertes Objekt in JS. Seine Instanz wird hauptsächlich zur Verarbeitung von Zeit und Datum verwendet. Seine Zeit basiert auf der Anzahl der Millisekunden seit 1970-1-1 (Universal Standard Time). Die Zeitstempellänge beträgt 13 Bit (im Gegensatz zu Unix-Zeitstempeln, die 10 Bit lang sind). Für Datum und Uhrzeit gibt es unzählige Verwendungsszenarien, daher müssen wir einigen Details und Konventionen besondere Aufmerksamkeit schenken.

1. Der Konstruktor

kann über new Date() instanziiert werden, um eine Date-Objektinstanz zu erhalten. Es ist erwähnenswert, dass bei direkter Ausführung von Date() eine Zeitzeichenfolge abgerufen wird .

new Date();
new Date(value);
new Date(dateString);
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);
Nach dem Login kopieren

Die Parameterbeschreibung des Konstruktors (siehe MDN):

  • Falls vorhanden keine Eingabe Wenn keine Parameter vorhanden sind, erstellt der Date-Konstruktor ein Date-Objekt basierend auf der aktuellen, vom System festgelegten Zeit.

  • Wenn mindestens zwei Parameter angegeben werden, werden die übrigen Parameter standardmäßig auf 1 (wenn kein Tagesparameter bereitgestellt wird) oder 0 gesetzt.

  • Die JavaScript-Zeit beginnt am 1. Januar 1970, Weltzeit (UTC), gemessen in Millisekunden, und ein Tag besteht aus 86.400.000 Millisekunden. Der Bereich von Date-Objekten liegt zwischen -100.000.000 Tagen und 100.000.000 Tagen (entspricht Millisekundenwerten).

  • Das Date-Objekt von JavaScript bietet ein einheitliches Verhalten auf allen Plattformen. Das Zeitattribut kann denselben Zeitpunkt in verschiedenen Systemen darstellen. Wenn ein lokales Zeitobjekt verwendet wird, spiegelt es die lokale Zeit wider.

  • Das Date-Objekt von JavaScript stellt mehrere UTC-Zeitmethoden und entsprechend auch lokale Zeitmethoden bereit. UTC, das wir Greenwich Time nennen, bezieht sich auf den Weltzeitstandard. Die lokale Zeit bezieht sich auf die Zeit, die vom Client-Computer eingestellt wird, der JavaScript ausführt.

  • Der Aufruf des Date-Objekts von JavaScript als Funktion (d. h. ohne Verwendung des neuen Operators) gibt eine Zeichenfolge zurück, die das aktuelle Datum und die aktuelle Uhrzeit darstellt.

2. Nullwertverarbeitung

// 以chrome为例
new Date();
// Mon Oct 23 2017 23:38:02 GMT+0800 (CST)

new Date(false);
// Thu Jan 01 1970 08:00:00 GMT+0800 (CST)

new Date(0);
// Thu Jan 01 1970 08:00:00 GMT+0800 (CST)

new Date(null);
// Thu Jan 01 1970 08:00:00 GMT+0800 (CST)

new Date('');
// Invalid Date

new Date(undefined);
// Invalid Date
Nach dem Login kopieren

3. Besondere Erinnerung

[Firefox]

unterstützt kein '-' vollständige Zeit, z. B. new Date('2012-07-08 00:00:00') ist ein ungültiger Wert, während new Date('2012-07-08') ein korrekter Wert ist.

[Monat]

  • Der Monat im neuen Datum (Jahr, Monat, …) beginnt bei 0

4. Wertgrenzen

Die Grenzwerte sind in verschiedenen Ausführungsumgebungen unterschiedlich. Unter Chrome können sogar negative Werte unterstützt werden. In einer tatsächlichen Produktionsumgebung müssen wir nicht nur die Anzeige der Zeit berücksichtigen, sondern auch deren Speicherung, Berechnung usw. Daher müssen wir in bestimmten Szenarien den gültigen Datumsbereich in der Datenbank und im Browser so weit wie möglich berücksichtigen .

Am Beispiel der Speicherzeit der Datenbank Derby lautet ihre Grenze:

说明 边界值
最小的日期 0001-01-01
最大的日期 9999-12-31
最小的时间 00:00:00
最大的时间 24:00:00
最小的时间戳 0001-01-01-00.00.00.000000
最大的时间戳 9999-12-31-23.59.59.999999

In mysql ist sein Bereich definiert als 1000-01-01bis9999-12-31;
In js ist der Mindestwert des Zeitstempels -8640000000000000, also der 20. April 271.821 v. Chr., und der Maximum Der Wert ist 8640000000000000, was dem 13. September 275.760 entspricht. Der Zeitbereich in der Spezifikation beträgt 100,000,000 Tage vor und nach dem 1.1.1970.

5. 2038 Bug

Ich habe gehört, dass Zeitstempel nach 2038 nicht mehr ausreichen.

Bei Computeranwendungen kann das 2038-Problem dazu führen, dass einige Software im Jahr 2038 nicht ordnungsgemäß funktioniert. Alle Programme, die die UNIX-Zeit zur Darstellung der Zeit verwenden, sind davon betroffen, da sie die Zeit in Sekunden darstellen, die seit dem 1. Januar 1970 vergangen sind (ohne Berücksichtigung von Schaltsekunden). Diese Zeitdarstellung ist ein Standard auf Unix-ähnlichen Betriebssystemen und betrifft Software, die in der Programmiersprache C für die Verwendung auf den meisten anderen Betriebssystemen entwickelt wurde. Auf den meisten 32-Bit-Betriebssystemen verwendet der Datenmodus „time_t“ eine vorzeichenbehaftete 32-Bit-Ganzzahl (signedint32), um die berechnete Anzahl von Sekunden zu speichern. Gemäß dem „time_t“-Standard ist die letzte Zeit, die in diesem Format dargestellt werden kann, Dienstag, 19. Januar 2038, 03:14:07 (UTC). Über diesen Zeitpunkt hinaus wird die Zeit umgebrochen und intern als negative Zahl dargestellt, was dazu führt, dass Programme nicht funktionieren, da sie diese Zeit nicht als 2038 erkennen und je nach Implementierung möglicherweise auf 1970 oder 1901 zurückspringen. Es kann zu falschen Berechnungen und Handlungen kommen.

7. Bibliothek

  • moment – ​​eine umfangreiche Zeitverarbeitungsbibliothek, die Zeitanalyse, Formatierung, Berechnung usw. unterstützt. Sie ist leistungsstark und unterstützt Browser und Node.js. Die komprimierte Größe Ungefähr 16,3 KB

  • date-fns – eine leichtere Ereignisverarbeitungsbibliothek als moment, kleiner in der Größe

  • dayjs – leichtere Magnitude moment.js

Verwandte Empfehlungen:

Beispielcode-Sharing der kapselnden Date-Klasse in Javascript

Javascript DOM Detaillierte Erklärung des Beispielcodes

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der Date-Klasse in Javascript (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Tabellenrahmen in HTML Tabellenrahmen in HTML Sep 04, 2024 pm 04:49 PM

Anleitung zum Tabellenrahmen in HTML. Hier besprechen wir verschiedene Möglichkeiten zum Definieren von Tabellenrändern anhand von Beispielen für den Tabellenrand in HTML.

HTML-Rand links HTML-Rand links Sep 04, 2024 pm 04:48 PM

Anleitung zum HTML-Rand links. Hier besprechen wir einen kurzen Überblick über HTML margin-left und seine Beispiele sowie seine Code-Implementierung.

Verschachtelte Tabelle in HTML Verschachtelte Tabelle in HTML Sep 04, 2024 pm 04:49 PM

Dies ist eine Anleitung für verschachtelte Tabellen in HTML. Hier diskutieren wir anhand der entsprechenden Beispiele, wie man eine Tabelle innerhalb der Tabelle erstellt.

HTML-Tabellenlayout HTML-Tabellenlayout Sep 04, 2024 pm 04:54 PM

Leitfaden zum HTML-Tabellenlayout. Hier besprechen wir die Werte des HTML-Tabellenlayouts zusammen mit den Beispielen und Ausgaben im Detail.

HTML-Eingabeplatzhalter HTML-Eingabeplatzhalter Sep 04, 2024 pm 04:54 PM

Leitfaden für HTML-Eingabeplatzhalter. Hier besprechen wir die Beispiele für HTML-Eingabeplatzhalter zusammen mit den Codes und Ausgaben.

HTML-geordnete Liste HTML-geordnete Liste Sep 04, 2024 pm 04:43 PM

Leitfaden zur HTML-geordneten Liste. Hier besprechen wir auch die Einführung von HTML-geordneten Listen und Typen sowie deren Beispiele

Text in HTML verschieben Text in HTML verschieben Sep 04, 2024 pm 04:45 PM

Anleitung zum Verschieben von Text in HTML. Hier besprechen wir eine Einführung, wie Marquee-Tags funktionieren, mit Syntax und Beispielen für die Implementierung.

HTML-Onclick-Button HTML-Onclick-Button Sep 04, 2024 pm 04:49 PM

Anleitung zum HTML-OnClick-Button. Hier diskutieren wir deren Einführung, Funktionsweise, Beispiele und Onclick-Events in verschiedenen Veranstaltungen.

See all articles