Wahl der Leser
Beliebte Artikel
Mit dem Date-Objekt können Sie mit Datums- und Uhrzeitangaben arbeiten. Um ein neues Date-Objekt zu erstellen, verwenden Sie die folgende Syntax:
Neues Datum()
Darin werden Daten als Anzahl der Millisekunden gespeichert, die seit Mitternacht des 1. Januar 1970 gemäß Weltzeit (UTC) vergangen sind. Dieses Format ermöglicht es Date, Daten genau darzustellen, die 285.616 Jahre vom 1. Januar 1970 entfernt sind.
Wenn der Date-Konstruktor ohne Argumente aufgerufen wird, wird ein Objekt mit den aktuellen Datums- und Uhrzeitwerten erstellt. Um ein Date-Objekt mit einem bestimmten Datum oder einer bestimmten Uhrzeit zu erstellen, müssen Sie einen von vier möglichen Parametern übergeben:
Bitte beachten Sie, dass die Zahl 4 dem Monat Mai entspricht. Das bedeutet, dass der Januar der Zahl 0 entspricht. Die Tage werden auf ähnliche Weise berechnet, nur entspricht in diesem Fall der Sonntag der Zahl Null.
Bei der Arbeit mit dem Date-Objekt ist es wichtig zu bedenken, dass Berechnungen mit der Weltzeit (UTC) durchgeführt werden, auch wenn Ihr Computer die Zeit möglicherweise entsprechend Ihrer Zeitzone anzeigt.
MethodengetDate() | Gibt den Tag des Monats (von 1 bis 31) für das angegebene Datum (Ortszeit) zurück. |
getDay() | Gibt den Wochentag (0 bis 6; 0 = Sonntag, 1 = Montag usw.) für das angegebene Datum in Ortszeit zurück. |
getFullYear() | Gibt das Jahr zurück (vierstellig). |
getHours() | Gibt die Stunde zurück (von 0 bis 23). |
getMilliseconds() | Gibt Millisekunden zurück (von 0 bis 999). |
getMinutes() | Gibt Minuten zurück (von 0 bis 59). |
getMonth() | Gibt den Monat zurück (von 0 bis 11; 0 = Januar, 1 = Februar usw.). |
getSeconds() | Gibt Sekunden zurück (von 0 bis 59). |
getTime() | Gibt die Anzahl der Millisekunden zurück, die seit Mitternacht am 01.01.1970 vergangen sind. |
getTimezoneOffset() | Gibt den Zeitunterschied zwischen UTC-Zeit und Ortszeit in Minuten zurück. |
getUTCDate() | Gibt den Tag des Monats in UTC zurück (von 1 bis 31). |
getUTCDay() | Gibt den Wochentag in Weltzeit zurück (von 0 bis 6). |
getUTCFullYear() | Gibt das Jahr in Weltzeit (vierstellig) zurück. |
getUTCHours() | Gibt die Stunde in Weltzeit (0 bis 23) zurück. |
getUTCMilliseconds() | Gibt Millisekunden in Weltzeit zurück (von 0 bis 999). |
getUTCMinutes() | Gibt Minuten in der Weltzeit (0 bis 59) zurück. |
getUTCMonth() | Gibt den Monat in Weltzeit (von 0 bis 11) zurück. |
getUTCSeconds() | Gibt die Sekunden in der Weltzeit zurück (von 0 bis 59). |
parse() | Analysiert eine Datumszeichenfolge (z. B. „21. Mai 1992“) und gibt eine Datumswertzeichenfolge zurück, die die Anzahl in Millisekunden seit dem 1. Januar 1970, 00:00:00, enthält. |
setDate() | Legt den Tag des Monats für das angegebene Datum in Ortszeit fest (von 1 bis 31). |
setFullYear() | Legt das Jahr fest (vierstellig). |
setHours() | Stellt die Uhr für das angegebene Datum entsprechend der Ortszeit (0 bis 23) ein. |
setMilliseconds() | Setzt die Millisekunden für das angegebene Datum auf die Ortszeit. |
setMinutes() | Legt die Minuten fest (von 0 bis 59). |
setMonth() | Legt den Monat fest (von 0 bis 11). |
setSeconds() | Legt die Sekunden fest (von 0 bis 59). |
setTime() | Legt das Datum in Millisekunden nach (oder vor) dem 01.01.1970 fest. |
setUTCDate() | Gibt den Tag des Monats an. |
setUTCFullYear() | Stellt das Jahr entsprechend der Weltzeit ein (vier Ziffern). |
setUTCHours() | Legt die Stunde für das angegebene Datum in der Weltzeit fest. |
setUTCMilliseconds() | Legt die Millisekunden für das angegebene Datum in Weltzeit fest. |
setUTCMinutes() | Legt die Minuten für das angegebene Datum in Weltzeit fest. |
setUTCMonth() | Legt den Monat für das angegebene Datum in Weltzeit fest. |
setUTCSeconds() | Legt die Sekunden für das angegebene Datum in Weltzeit fest. |
toDateString() | |
toISOString() | Konvertiert ein Datum mithilfe des ISO 8601-Standards in eine Zeichenfolge. |
toJSON() | Gibt das Datum als Zeichenfolge zurück, formatiert als JSON-Datum. |
toLocaleDateString() | |
toLocaleTimeString() | Gibt den Datumsteil als Zeichenfolge zurück, mit einer Datumsdarstellung basierend auf Systemparametern. |
toLocaleString() | Gibt das Datum als Zeichenfolge zurück, wobei die Datumsdarstellung auf Systemparametern basiert. |
toString() | Gibt eine Zeichenfolge zurück, die das angegebene Date-Objekt darstellt. |
toTimeString() | Gibt den Datumsteil als Zeichenfolge zurück. |
toUTCString() | Konvertiert ein Datum mithilfe der UTC-Zeitzone in eine Zeichenfolge. |
KOORDINIERTE WELTZEIT() | Nimmt die gleichen Parameter wie der Langformkonstruktor an (z. B. 2-7) und gibt die Anzahl der Millisekunden seit dem 1. Januar 1970, 00:00:00 UTC, zurück. |
valueOf() | Gibt den Grundwert eines Date-Objekts zurück. |
Hallo zusammen!
Ich muss oft mit statistischen Daten arbeiten und viele davon sind an Daten gebunden. Darüber hinaus kann dasselbe Datum auf einer Seite in verschiedenen Formaten verwendet werden (z. B. in einem maschinenfreundlichen Format und in einem menschenfreundlichen Format). Ich denke, die meisten von Ihnen sind sich des schrecklichen Codes bewusst, der bei der Verwendung des Date-Objekts entsteht.
Um beispielsweise das aktuelle Datum im Format TT.MM.JJJJ zu erhalten, müssen wir Folgendes tun:
var d = new Date(), fd = d.getDate() + "." + (d.getMonth()+1) + "." + d.getFullYear();
Und wann werden solche Zeilen zahlreich? Kann man sich leicht merken, dass in JavaScript der Monat bei Null beginnt, wenn man nicht nur darin entwickelt? Oder die Tatsache, dass es hier Millisekunden gibt und nicht Sekunden, wie fast überall sonst im Backend? Mit der beliebten Moment.js-Bibliothek können Sie einige Probleme lösen, sie arbeitet jedoch sehr langsam.
Die betreffende Bibliothek löst diese Probleme.
Wenn Sie interessiert sind, empfehle ich Ihnen, diese kurze Rezension zu lesen.
TempusJS enthält viel syntaktischen Zucker für das Date-Objekt und ist daher sehr schnell. Die Syntax der Bibliothek selbst ist sehr einfach. Sie können das vorherige Beispiel beispielsweise so schreiben:
var fd = tempus().format("%d.%m.%Y");
Nun zur Geschwindigkeit. Im Spoiler sehen Sie einen Vergleich von Tempus mit Moment und der nativen Art der Datumsformatierung (siehe oben):
Vergleich von nativem JS, MomentJS und TempusJS
Holen Sie sich das aktuelle Datum. Native JS x 2.175.575 Operationen/Sek. ±0,75 % (96 Läufe wurden abgetastet) Moment x 284.864 Operationen/Sek. ±0,85 % (96 Läufe wurden abgetastet) Tempus x 2.086.081 Operationen/Sek. ±0,73 % (97 Läufe wurden abgetastet) Formatieren von Native JS x 1.637.517 Operationen/Sek. ±0,61 % (100 Läufe als Probe) Moment x 8.808 Operationen/Sek. ±1,07 % (100 Läufe als Probe) Tempus x 942.815 Operationen/Sek. ±0,68 % (94 Läufe als Probe) Automatische Datumserkennung und -analyse Native JS x 11.204.316 Operationen/Sek. ±0,81 % (88 Läufe erfasst) Moment x 38.511 Vorgänge/Sek. ±1,41 % (95 Läufe erfasst) Tempus x 93.973 Vorgänge/Sek. ±1,06 % (85 Läufe erfasst) Datumsanalyseformat Moment x 46.293 Vorgänge/Sek. ±0,63 % (100 Läufe abgetastet) Tempus x 109.947 Vorgänge/Sek. ±0,93 % (99 Läufe abgetastet) Parsing und Validierung Moment x 44.588 Vorgänge/Sek. ±1,09 % (90 Läufe abgetastet) Tempus x 103.439 Vorgänge/Sek. ±0,90 % (94 Läufe abgetastet). )Die Vorteile dieser Bibliothek lassen sich also wie folgt beschreiben:
Hier werden wir nur auf einige der Funktionen eingehen.
Formatieren und ParsenAlso zunächst ein weiteres Beispiel für die Datumsformatierung. Auch hier nutzen wir Call Chaining. Am Ende jeder Werteinstellung erhalten wir ein TempusDate-Objekt zurück, das wir weiter in der Kette verwenden können. Beispiel:
tempus(). // ein neues Datum erhalten calc((Monat: -1)). // um einen Monat reduzieren format("%d.%m.%Y"); // Ausgabe als String
Somit erhalten wir denselben Tag, dieselbe Stunde und dieselbe Sekunde, jedoch vor einem Monat. Dies kann nützlich sein, um Berichte für den letzten Monat abzurufen.
Das nächste Beispiel ist die Datumsanalyse.
// Ein TempusDate-Objekt mit dem Datum „2013-11-18“ zurückgeben tempus("11/18/2013"); // Ein TempusDate-Objekt mit dem Datum „2013-12-12“ zurückgeben tempus("2013-12-12", "%Y-%m-%d"));
Tempus kann einige bekannte Formate automatisch erkennen. Sie können auch ein bestimmtes Format angeben, dann erfolgt das Parsen schneller. Außerdem können Sie ein Datum festlegen, das zurückgegeben wird, wenn die Analyse fehlschlägt:
// Weil „123“ passt nicht in das Format „%d.%m.%Y“, dann // ein Objekt mit dem Datum 2013-01-01 tempus("123", "%d.%m.%Y", tempus wird zurückgegeben ());
Die Liste der Standardformate kann angezeigt werden
Jetzt ändern wir das Format des bereits formatierten Datums
// "2013-11-05" tempus("05.11.2013").format("%Y-%m-%d"); // Oder so // "12. Oktober" tempus("2013-10-12 12:31:01", "%Y-%m-%d %H:%M:%S").format(" % B, %d");
Sie können die Lokalisierung auch zur Formatierung verwenden. Standardmäßig wird die Sprache des Benutzers ausgewählt (aus dem Browser übernommen) oder die Standardsprache, wenn die Sprache des Benutzers nicht unter den verfügbaren Tempus-Sprachen gefunden wird.
// Sprache einstellen tempus.lang("ru"); // Wir verwenden das Format als Standard // „November, 05“ tempus(1383609600).format("%B, %d");
Im Moment gibt es nur zwei Sprachen – Russisch und Englisch, daher helfe ich gerne weiter.
Im Falle eines Fehlers können Sie sehen, in welchen Feldern er aufgetreten ist – sofern der Wert nicht falsch ist:
// Rückgabe („Jahr“:-5, „Monat“:false, „Tag“:false, „Stunden“:false, // „Minuten“:false, „Sekunden“:false, „Millisekunden“:false) tempus ().
gefüllt mit minimal Eine Liste der Konstanten mit Mindestwerten finden Sie in der Dokumentation.
Außerdem können wir jedes Datum mit der Funktion calc ändern:
Um mit Datum und Uhrzeit in JavaScript zu arbeiten, gibt es ein spezielles Objekt – Date. Dieses Objekt wird von fast allen Versionen von JavaScript unterstützt und Sie können es verwenden, ohne sich Gedanken über Kompatibilitätsprobleme machen zu müssen.
Datum und Uhrzeit werden im Date-Objekt nicht explizit gespeichert, sondern wie in den meisten Programmiersprachen – als Anzahl der Millisekunden, die seit der Geburt von Unix vergangen sind, also ab 0 Stunden 0 Minuten 1. Januar 1970. Eine Besonderheit des Date-Objekts besteht darin, dass alle Bereichswerte Indizes haben, die bei Null beginnen. Das bedeutet, dass der Januar einen Index von 0 (Monat Nr. 0) hat und der Dezember nicht der zwölfte, sondern der elfte Monat ist. Das Gleiche gilt für Wochentage, Stunden, Minuten usw.
Das Erstellen eines Date-Objekts ist sehr einfach:
// aktuelles Datum/Uhrzeit var date = new Date(); // Datum-Uhrzeit aus einem String oder einer Zahl var date = new Date(date); // Datum-Uhrzeit aus Einzelwerten var date = new Date(Jahr, Monat, Tag, Stunde, Minute, Sekunde, Millisekunde);
Das Date-Objekt verfügt über eine Reihe sehr nützlicher Methoden, mit denen Sie mit einzelnen Datum-Uhrzeit-Komponenten arbeiten, die Gültigkeit überprüfen und das Datum korrekt in einem bestimmten Format ausgeben können.
Methoden zum Abrufen von Datum-Uhrzeit-Komponenten | |
getFullYear | Gibt das Jahr zurück (z. B. 2011). |
getYear | Gibt das Jahr zurück. Der Zweck der getYear-Methode ähnelt dem Zweck von getFullYear, diese Methode ist jedoch veraltet und wird nicht zur Verwendung empfohlen, weil Die Ergebnisse ihrer Arbeit sind nicht eindeutig: Für den Datumsbereich von 1900 bis 1999 gibt die Methode die Jahreszahl im Jahrhundert zurück (zweistellig, zum Beispiel 77), für Datumsangaben außerhalb dieses Bereichs den vollen Wert (vier). -Ziffer, zum Beispiel 2009). |
getMonth | Gibt den Monat zurück. |
getDate | Gibt den Tag des Monats (Tag im Monat) zurück. |
getHours | Gibt die Stunde zurück. |
getMinutes | Gibt die Minute zurück. |
getSeconds | Gibt die Sekunde zurück. |
getMilliseconds | Gibt die Millisekunde zurück. |
getDay | Gibt die Nummer des Wochentags zurück. |
getTime | Gibt den vom Objekt gespeicherten Millisekunden-Offset zurück. |
Methoden zum Ändern von Datum-Uhrzeit-Komponenten | |
setFullYear | Legt das Jahr fest. |
setJahr | Legt das Jahr fest. Der Zweck der setYear-Methode ähnelt dem Zweck von setFullYear, diese Methode ist jedoch veraltet und wird nicht zur Verwendung empfohlen (ebenso wie die getYear-Methode). |
setMonth | Legt den Monat fest. |
setDate | Legt das Datum im Monat fest (Tag des Monats). |
setHours | Legt die Stunde fest. |
setMinutes | Legt die Minute fest. |
setSeconds | Legt die Sekunde fest. |
setMilliseconds | Legt die Millisekunde fest. |
setTime | Legt den Millisekunden-Offset relativ zum 01.01.1970 um 00:00:00 fest |
Formatierungs- und Anzeigefunktionen für Datum und Uhrzeit | |
toString | Gibt eine Zeichenfolgendarstellung eines Datums und einer Uhrzeit zurück. |
toUTCString | Gibt eine Zeichenfolgendarstellung des Datums und der Uhrzeit zurück, konvertiert in UTC. Das zurückgegebene String-Format berücksichtigt alle Internetstandards. |
toGMTString | Gibt eine Zeichenfolgendarstellung des Datums und der Uhrzeit zurück, konvertiert in GMT (Greenwich Mean Time). Das zurückgegebene String-Format berücksichtigt alle Internetstandards. |
toLocaleString | Ähnlich wie toString, gibt jedoch eine Zeichenfolgendarstellung von Datum und Uhrzeit zurück, formatiert entsprechend den Gebietsschemaeinstellungen des angegebenen Benutzers. |
toTimeString | Gibt eine Zeichenfolgendarstellung der Zeit zurück (die Zeichenfolge enthält nur die Uhrzeit). |
toDateString | Gibt eine Zeichenfolgendarstellung eines Datums zurück (die Zeichenfolge enthält nur das Datum). |
toLocaleTimeString | Ähnlich wie toTimeString, gibt jedoch eine Zeichenfolgendarstellung der Zeit zurück, die entsprechend den Gebietsschemaeinstellungen des Benutzers formatiert ist. |
toLocaleDateString | Ähnlich wie toDateString, gibt jedoch eine Zeichenfolgendarstellung des Datums zurück, formatiert entsprechend den Gebietsschemaeinstellungen des Benutzers. |
Zusätzliche Funktionen | |
getTimezoneOffset | Gibt den Offset der Ortszeit auf dem Computer des Benutzers relativ zur UTC-Zeit zurück. Der Offset wird in Minuten zurückgegeben. |
analysieren | Mit dieser Funktion können Sie die Richtigkeit des als String geschriebenen Datums und der Uhrzeit überprüfen. Wenn die Zeichenfolge korrekt ist, wird sofort ein Date-Objekt erstellt. |
Das Date-Objekt enthält außerdem eine Reihe von Methoden zum Arbeiten mit UTC-Daten. Diese Funktionen sind den bereits besprochenen völlig ähnlich, enthalten jedoch das Präfix „UTC“ im Namen und funktionieren nur mit „universeller“ Zeit: getUTCSeconds, setUTCFullYear usw.
Schauen wir uns ein Beispiel für die Arbeit mit Datumsangaben an:
var tmp = new Date(now.getTime());
var arrNames = new Array("Heute", "Morgen", "In 1 Jahr, 6 Monaten, 15 Tagen"); | " + "var arrNormal = new Array(); | " + "var arrLocal = new Array(); | " + "var arrUTC = new Array(); |
arrNormal = tmp.toString(); | + "arrUTC = tmp.toUTCString(); | + "// morgen tmp.setDate(tmp.getDate() + 1); | + "arrLocal = tmp.toLocaleString(); | + "
arrUTC = tmp.toUTCString();
// in 1 Jahr 6 Monaten 15 Tagen tmp.setFullYear(tmp.getFullYear() + 1);
tmp.setMonth(tmp.getMonth() + 6);
tmp.setDate(tmp.getDate() + 15);
arrLocal = tmp.toLocaleString();
arrNormal = tmp.toString();
arrUTC = tmp.toUTCString();
// Ergebnisse in die Tabelle ausgeben document.write("
DatumLokalisiert
Datum (nMillisekunden) – Wie Sie sehen können, übergeben wir hier einen Parameter nMillisekunden, der Datum1 in Millisekunden angibt, gezählt ab dem 1. Januar 1970
Datum (Jahr, Monat, Datum [, Stunden [, Minute [, Sekunde [, ms]]]]) – Hier sehen wir, dass mehrere Parameter an den Konstruktor übergeben werden, der es Ihnen ermöglicht, alle js-Datums- und Zeitwerte manuell festzulegen:
Okay, schauen wir uns das folgende Beispiel für die Verwendung der JS-Klasse DATE in einem Programmiersprachenskript an, das unter Serversteuerung ausgeführt wird:
// JS Date-Objekt // 1_date.js //*********************************** var a, b , c //Aktuelles Datum1 und aktuelle Uhrzeit1 a = new Date (); |
//js //Zeitraum 1000 ms nach dem 1. Januar 1970 b = neues Datum (1000);
//Eigene Zeit date2 c = neues Datum (2000, 5, 20, 12, 20, 55, 97);
WScript.Echo (a + "\n " + b + "\n " + c) ;
Okay, schauen wir uns nun die Hauptmethoden der JS Date-Klasse an.
getFullYear() – Aktuelle Jahreszahl im vierstelligen Format.
getDate() – Gibt die aktuelle Datumsnummer zurück (von 1 bis 31).
getMonth() – Aktuelle Monatsnummer (von 1 bis 12).
getDay() – Nummer des Wochentags (0 für Sonntag, 1 für Montag usw.).
getHours() – Anzahl der Stunden (Zählung beginnt ab Mitternacht).
getMinutes() – Gibt die Anzahl der Minuten zurück (gezählt vom Beginn der Stunde).
//****************************** // JS Date-Objekt // 2_date.js //** ** ****************************** var js_new_date = neues Datum ; |
//js var gFullYear, gDate, gMonth, gDay, gHours, gMinutes, gSeconds, gMilliseconds, MyArr, index, list= "" ;
gFullYear = "Year\t\t " + js_new_date.getFullYear () ;
gDate = "Date\t\t " + js_new_date.getDate();
gMonth = "Month\t\t" + js_new_date.getMonth(); gDay = "Tag der Woche\t \t " + js_new_date.getDay () ; // gSeconds = "Seconds\t\t " + js_new_date.getSeconds(); gMilliseconds = "Milliseconds\t\t " + js_new_date.getMilliseconds(); //Alles im Array speichern MyArr = [ gFullYear, gDate, gMonth, gDay, gHours, gMinutes, gSeconds, gMilliseconds] for (var index in my_arr) ( list+= MyArr[ index] + "\n " Wir sehen, dass wir hier eine Reihe von Jscript-Variablen deklariert haben, die die von den Funktionen der Date()-Klasse der JS-Sprache zurückgegebenen Werte speichern, und dann alle Variablen im MyArr-Array registriert haben (eine detaillierte Beschreibung). von Arrays steht im Artikel " "), der Zugriff darauf erfolgt über die for-Schleife in (ich habe diesen Zyklus im Artikel " " beschrieben). Ganz am Ende drucken wir eine Werteliste für alle Variablen aus.Wir beginnen also damit, der Variablen d den Datumswert zuzuweisen, erstellen dann Arrays (Array) für Wochentage (Day) und Monate (Monat) und geben sie in der erforderlichen grammatikalischen Form an: Groß-/Kleinschreibung, Zahl, ggf. Großbuchstabe Wort erscheint am Anfang des Datums usw. .p. Die letzte Zeile des Skripts ist der eigentliche Datumsausdruck (document.write). Hier legen Sie fest, was und in welcher Reihenfolge Sie in der aktuellen Datumszeile anzeigen möchten. Komponenten werden durch ein +-Zeichen voneinander getrennt. Um ein Leerzeichen einzugeben, verwenden Sie die Konstruktion „ “, und um den Buchstaben g (Jahr) einzugeben, verwenden Sie die Konstruktion „ g “. Wie Sie dem Skript entnehmen können, führt das Get-Element die aktuellen Zeitdaten aus. Mit dieser Methode können Sie die folgenden Informationen erhalten:
Es ist nicht immer praktisch, ein Java-Skript direkt in eine Website-Seite einzufügen. Es ist besser, die Beschreibung des Skripts am Anfang der Seite zwischen den Tags zu platzieren und eine Variable festzulegen, die wir bei Bedarf im Text aufrufen. Nennen wir es TODAY und definieren darin die Datumsausgabeform ähnlich der oben. Das Skript sieht folgendermaßen aus: Um das Datum anzuzeigen, rufen Sie das Skript an der gewünschten Stelle im HTML-Code der Seite mit dem folgenden Befehl auf: Wenn Ihre Site viele Seiten enthält, auf denen Sie das Datum anzeigen müssen, ist es bequemer, das Java-Skript zum Anzeigen des Datums in eine separate Datei zu trennen, z. B. data.js. In der Praxis handelt es sich hierbei um eine Seite bestehend aus dem ersten der beschriebenen Skripte, also mit der Zeile document.write (siehe oben). Es muss sich im selben Verzeichnis wie die Hauptseite befinden und an der Stelle aufgerufen werden, an der das Datum wie folgt angezeigt wird: Vergessen Sie nicht, zu überprüfen, ob die Datei data.js die gleiche Codierung wie das Hauptdokument hat, da sonst das Datum mit wunderbaren Haken, Quadraten und anderen Tricks angezeigt wird. Kommentar. Es ist zu beachten, dass das beschriebene Skript das auf dem Computer des Benutzers eingestellte Datum anzeigt, das nicht immer der tatsächlichen aktuellen Uhrzeit entspricht. Wenn Sie die genaue Uhrzeit anzeigen müssen, müssen Sie ein PHP-Skript verwenden, das die Uhrzeit auf dem Server anzeigt.
gastroguru 2017
|