Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Diskussion über JavaScript-Datums- und Zeitobjekte_Grundkenntnisse

Eine kurze Diskussion über JavaScript-Datums- und Zeitobjekte_Grundkenntnisse

WBOY
WBOYOriginal
2016-05-16 16:23:451234Durchsuche

Datum, Datum und Uhrzeit Objekt

1. Einleitung

Das Datumsobjekt ist ein Objekt, das Datum und Uhrzeit berücksichtigt. Das Date-Objekt kann Datum und Uhrzeit nur über Methoden bearbeiten.

2. Konstruktor

2.1 new Date(): Gibt das aktuelle lokale Datum und die aktuelle Uhrzeit zurück
Parameter: Keine

Rückgabewert:

{Date} gibt ein Date-Objekt zurück, das das lokale Datum und die lokale Uhrzeit darstellt.

Beispiel:

Code kopieren Der Code lautet wie folgt:

var dt = new Date();
console.log(dt); // => Gibt ein Date-Objekt zurück, das das lokale Datum und die lokale Uhrzeit darstellt

2.2 neues Datum (Millisekunden): Konvertieren Sie Millisekunden in ein Datumsobjekt
Parameter:

①milliseconds {int}: Anzahl der Millisekunden, die die Anzahl der Millisekunden ab „1970/01/00:00:00“ als Startpunkt angibt.

Hinweis: Die aktuelle Zeitzone muss zum Startpunkt hinzugefügt werden. Die Zeitzone der Pekinger Zeit ist: „1970/01/08:00:00“.

Rückgabewert:

{Date} gibt ein überlagertes Date-Objekt zurück.

Beispiel:

Code kopieren Der Code lautet wie folgt:
var dt = new Date(1000 * 60 * 1); // Anzahl der Millisekunden, um 1 Minute vorzurücken
console.log(dt); // => {Datum}:1970/01:00
dt = new Date(-1000 * 60 * 1); // Anzahl der Millisekunden, die 1 Minute zurückgehen
console.log(dt); // => {Datum}:01.01.1970 07:59:00

2.3 neues Date(dateStr): String in Datumsobjekt konvertieren

Parameter:

①dateStr {string}: Ein String, der in ein Date-Objekt konvertiert werden kann (die Zeit kann weggelassen werden); es gibt zwei Hauptformate von Strings:

1) jjjj/MM/tt HH:mm:ss (empfohlen): Wenn die Zeit weggelassen wird, ist die Zeit des zurückgegebenen Date-Objekts 00:00:00.

2) jjjj-MM-tt HH:mm:ss: Wenn die Zeit weggelassen wird, ist die Zeit des zurückgegebenen Date-Objekts 08:00:00 (plus die lokale Zeitzone). Wenn die Zeit nicht weggelassen wird, kann diese Zeichenfolge im IE nicht konvertiert werden!

Rückgabewert:

{Date} gibt ein konvertiertes Date-Objekt zurück.

Beispiel:

Code kopieren Der Code lautet wie folgt:
var dt = neues Datum('25.12.2014'); // jjjj/MM/tt
console.log(dt); // => {Datum}:25.12.2014 00:00:00
dt = neues Datum('25.12.2014 12:00:00'); // jjjj/MM/tt HH:mm:ss
console.log(dt); // => {Datum}:25.12.2014 12:00:00
dt = neues Datum('2014-12-25'); // yyyy-MM-dd
console.log(dt); // => {Datum}:2014-12-25 08:00:00 (Die Zeitzone des östlichen 8. Bezirks wurde hinzugefügt)
dt = new Date('2014-12-25 12:00:00'); // yyyy-MM-dd HH:mm:ss (Hinweis: Diese Konvertierungsmethode meldet einen Fehler im IE!)
console.log(dt); // => {Datum}:2014-12-25 12:00:00

2.4 neues Datum (Jahr, Monat, opt_day, opt_hours, opt_minutes, opt_seconds, opt_milliseconds): Jahr, Monat, Tag, Stunden, Minuten und Sekunden in Datumsobjekte konvertieren

Parameter:

①year {int}: Jahr; Wie zum Beispiel: 1999, 2014

②month {int}: Monat; Die Berechnung beginnt bei 0, 0 steht für Januar und 11 für Dezember.

③opt_day {int} Optional: Zahl; 2 Ziffern, beginnend mit 1, 1 bedeutet Nr. 1.

④opt_hours {int} Optional: 2 Ziffern; Wert 0~23.

⑤opt_minutes {int} Optional: 2 Ziffern; Wert 0~59.

⑥opt_seconds {int} Optional: 2 unnummerierte Werte;

⑦opt_milliseconds {int} Optional: Millisekundenwert 0~999.

Rückgabewert:

{Date} gibt ein konvertiertes Date-Objekt zurück.

Beispiel:

Code kopieren Der Code lautet wie folgt:
var dt = new Date(2014, 11); // Dezember 2014 (die hier eingegebene Monatszahl ist 11)
console.log(dt); // => {Datum}:2014/12/00 00:00:00
dt = neues Datum(2014, 11, 25); // 25. Dezember 2014
console.log(dt); // => {Datum}:25.12.2014 00:00:00
dt = neues Datum (2014, 11, 25, 15, 30, 40); // 25. Dezember 2014 15:30:40
console.log(dt); // => {Datum}:25.12.2014 15:30:40
dt = new Date(2014, 12, 25); // 25. Dezember 2014 (die hier eingegebene Monatszahl ist 12, was den 13. Monat bedeutet und zum Januar des zweiten Jahres springt)
console.log(dt); // => {Datum}:25.01.2015

3. Attribute

Keine; Datumsobjekte können nur über Methoden mit Datum und Uhrzeit arbeiten.

4. Instanzmethoden

Die Instanzmethoden des Date-Objekts sind hauptsächlich in zwei Formen unterteilt: Ortszeit und UTC-Zeit. Die gleiche Methode funktioniert im Allgemeinen mit diesen beiden Zeitformaten (der Methodenname mit UTC ist die Operation der UTC-Zeit). Hier stellen wir hauptsächlich die Operation der Ortszeit vor.

4.1 Get-Methode
4.1.1 getFullYear(): Gibt den Jahreswert des Date-Objekts mit 4 Ziffern zurück.

4.1.2 getMonth(): Gibt den Monatswert des Date-Objekts zurück. Beginnt bei 0, also echter Monat = Rückgabewert 1 .

4.1.3 getDate(): Gibt den Datumswert im Monat des Date-Objekts zurück; der Wertebereich liegt zwischen 1 und 31.

4.1.4 getHours(): Gibt den Stundenwert des Date-Objekts zurück.

4.1.5 getMinutes(): Gibt den Minutenwert des Date-Objekts zurück.

4.1.6 getSeconds(): Gibt den Sekundenwert des Date-Objekts zurück.

4.1.7 getMilliseconds(): Gibt den Millisekundenwert des Date-Objekts zurück.

4.1.8 getDay(): Gibt den Wochentagswert des Date-Objekts zurück; 0 ist Sonntag, 1 ist Montag, 2 ist Dienstag und so weiter

4.1.9 getTime(): Gibt den Millisekundenwert zwischen dem Date-Objekt und „1970/01/01 00:00:00“ zurück (die Zeitzone der Pekinger Zeit ist East 8th District, die Startzeit ist tatsächlich: „ 01.01.1970 08:00:00‘).

Beispiel:

Code kopieren Der Code lautet wie folgt:

dt.getFullYear(); // => dt.getMonth(); // => 11: tatsächlich Dezember (Monat beginnt bei 0)
dt.getDate(); // => 25: Tag
dt.getHours(); // => 15: Stunden
dt.getMinutes(); // => 30: Minuten
dt.getSeconds(); // => 40: Sekunden
dt.getMilliseconds(); // => 333: Millisekunden
dt.getDay(); // => 4: Wochentagswert
dt.getTime(); // => 1419492640333: Gibt den Millisekundenwert zwischen dem Date-Objekt und „1970/01/01 00:00:00“ zurück (die Zeitzone der Pekinger Zeit ist East 8th District, die Startzeit ist tatsächlich :' 01.01.1970 08:00:00')

4.2 Set-Methode

4.2.1 setFullYear(year, opt_month, opt_date): Legen Sie den Jahreswert des Date-Objekts fest;

4.2.2 setMonth(month, opt_date): Legt den Monatswert des Date-Objekts fest. 0 steht für Januar und 11 für Dezember.

4.2.3 setDate(date): Legen Sie den Datumswert im Monat des Date-Objekts fest; der Wertebereich liegt zwischen 1 und 31.

4.2.4 setHours(hour, opt_min, opt_sec, opt_msec): Legt den Stundenwert des Date-Objekts fest.

4.2.5 setMinutes(min, opt_sec, opt_msec): Legen Sie den Minutenwert des Date-Objekts fest.

4.2.6 setSeconds(sec, opt_msec): Legt den Sekundenwert des Date-Objekts fest.

4.2.7 setMilliseconds(msec): Legt den Millisekundenwert des Date-Objekts fest.

Beispiel:

Code kopieren Der Code lautet wie folgt:
var dt = new Date();
dt.setFullYear(2014); // => dt.setMonth(11); // => 11: tatsächlich Dezember (Monat beginnt bei 0)
dt.setDate(25); // => 25: Tag
dt.setHours(15); // => 15: Stunden
dt.setMinutes(30); // => 30: Minuten
dt.setSeconds(40); // => 40: Sekunden
dt.setMilliseconds(333); // => 333: Millisekunden
console.log(dt); // => 25. Dezember 2014 15:30:40 333 Millisekunden


4.3 Andere Methoden 4.3.1 toString(): Datum in eine Zeichenfolge „Jahr, Monat, Tag, Stunde, Minute und Sekunde“ konvertieren


4.3.2 toLocaleString(): Datum in eine lokale Formatzeichenfolge von „Jahr, Monat, Tag, Stunde, Minute und Sekunde“ konvertieren

4.3.3 toDateString(): Datum in eine Zeichenfolge „Jahr, Monat, Tag“ konvertieren

4.3.4 toLocaleDateString(): Datum in eine lokale Formatzeichenfolge von „Jahr, Monat und Tag“ konvertieren

4.3.5 toTimeString(): Datum in eine Zeichenfolge aus „Stunden, Minuten und Sekunden“ konvertieren

4.3.6 toLocaleTimeString(): Datum in eine lokale Formatzeichenfolge von „Stunden, Minuten und Sekunden“ konvertieren

4.3.7 valueOf(): Identisch mit getTime(), gibt den Millisekundenwert zwischen dem Date-Objekt und „1970/01/01 00:00:00“ zurück (die Zeitzone der Pekinger Zeit ist East 8th District). Die Startzeit ist tatsächlich: '1970/01/01 08:00:00')

Beispiel:

Code kopieren Der Code lautet wie folgt:

var dt = new Date();
console.log(dt.toString()); // => Di 23. Dezember 2014 22:56:11 GMT 0800 (China Standard Time): Konvertieren Sie das Datum in ein Jahr, einen Monat, einen Tag, eine Stunde, eine Minute und eine Sekunde ' Zeichenfolge
console.log(dt.toLocaleString()); // => 23. Dezember 2014 22:56:11 Uhr: Datum in eine lokale Formatzeichenfolge von „Jahr, Monat, Tag, Stunde, Minute und Sekunde“ konvertieren 🎜> console.log(dt.toDateString()); // => Di, 23. Dezember 2014: Datum in eine Zeichenfolge „Jahr, Monat und Tag“ konvertieren
console.log(dt.toLocaleDateString()); // => Datum in eine lokale Formatzeichenfolge von „Jahr, Monat und Tag“ konvertieren console.log(dt.toTimeString()); // => 22:56:11 GMT 0800 (China Standard Time): Konvertieren Sie das Datum in eine Zeichenfolge „Stunden, Minuten und Sekunden“
console.log(dt.toLocaleTimeString()); // => Datum in eine lokale Formatzeichenfolge von „Stunden, Minuten und Sekunden“ konvertieren console.log(dt.valueOf()); // => Gibt den Millisekundenwert zwischen dem Date-Objekt und „1970/01/01 00:00:00“ zurück (die Zeitzone der Pekinger Zeit ist der 8. Bezirk). Die Startzeit ist tatsächlich: '1970/01/01 08:00:00')



5. Statische Methode

5.1 Date.now() Beschreibung: Gibt den Millisekundenwert zwischen dem Date-Objekt des aktuellen Datums und der aktuellen Uhrzeit und „1970/01/01 00:00:00“ zurück (die Zeitzone der Pekinger Zeit ist East 8th District, die Startzeit ist tatsächlich: „1970/ 01/01 08 :00:00')

Parameter: Keine

Rückgabewert:

{int}: Die Anzahl der Millisekunden zwischen der aktuellen Zeit und der Startzeit.

Beispiel:

Code kopieren Der Code lautet wie folgt: console.log(Date.now()); // => 1419431519276


5.2 Date.parse(dateStr)
Beschreibung: Konvertieren Sie die Zeichenfolge in ein Date-Objekt und geben Sie dann den Millisekundenwert zwischen diesem Date-Objekt und „1970/01/01 00:00:00“ zurück (die Zeitzone der Pekinger Zeit ist East 8th District, die Startzeit ist tatsächlich). : '01.01.1970 08:00:00')

Parameter:

①dateStr {string}: Ein String, der in ein Date-Objekt konvertiert werden kann (die Zeit kann weggelassen werden); es gibt zwei Hauptformate von Strings:

1) jjjj/MM/tt HH:mm:ss (empfohlen): Wenn die Zeit weggelassen wird, ist die Zeit des zurückgegebenen Date-Objekts 00:00:00.

2) jjjj-MM-tt HH:mm:ss: Wenn die Zeit weggelassen wird, ist die Zeit des zurückgegebenen Date-Objekts 08:00:00 (plus die lokale Zeitzone). Wenn die Zeit nicht weggelassen wird, gibt diese Zeichenfolge im IE NaN (keine Zahl) zurück!

Rückgabewert:

{int} Gibt die Anzahl der Millisekunden zwischen dem konvertierten Date-Objekt und der Startzeit zurück.

Beispiel:

Code kopieren Der Code lautet wie folgt: console.log(Date.parse('25.12.2014 12:00:00')); // => console.log(Date.parse('2014-12-25 12:00:00')); // => (Hinweis: Diese Konvertierungsmethode gibt NaN im IE zurück!)



6. Praktische Bedienung

6.1 Konvertieren Sie den DateTime-Typ von C# in das Date-Objekt von Js Hinweis: Das Format des DateTime-Typs von C#, der durch Json-Serialisierung an die Rezeption zurückgegeben wird, ist: „/Date(1419492640000)/“. Die Zahl in der Mitte gibt die Anzahl der Millisekunden zwischen dem DateTime-Wert und der Startzeit an.

Beispiel:


Backend-Code: einfaches ashx

Code kopieren

Der Code lautet wie folgt: public void ProcessRequest (HttpContext-Kontext) { System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer();
DateTime dt = DateTime.Parse("2014-12-25 15:30:40");
String rs = js.Serialize(dt); // Serialisieren in Json
Context.Response.ContentType = "text/plain";
context.Response.Write(rs);
}



Frontend-Code:

Code kopieren

Der Code lautet wie folgt: var dateTimeJsonStr = '/Date(1419492640000)/'; // Json-Format für die C#-DateTime-Typkonvertierung var msecStr = dateTimeJsonStr.toString().replace(//Date(([-]?d ))//gi, "$1"); // => > var msesInt = Number.parseInt(msecStr); // Millisekunden-String in numerischen Wert konvertieren
var dt = new Date(msesInt); //Datumsobjekt initialisieren
console.log(dt.toLocaleString()); // => 25. Dezember 2014 15:30:40 Uhr

6.2 Countdown abrufen
Beschreibung: Berechnen Sie, wie viele Tage, Stunden und Minuten die aktuelle Zeit von der Zielzeit entfernt ist.

Beispiel:

Code kopieren Der Code lautet wie folgt:

/**
* Zurück zum Countdown
* @param dt {Date}: Zieldatumsobjekt
* @return {Strin}: Countdown für die Rückkehr: X Tage, X Stunden, X Minuten
*/
Funktion getDownTime(dt) {
// 1. Countdown abrufen
var IntervalMsec = dt - Date.now(); // Subtrahiere die aktuelle Zeit von der Zielzeit und erhalte die Anzahl der Millisekunden Differenz zwischen den beiden
var IntervalSec = IntervalMsec / 1000; // In Sekunden umrechnen
var day = parseInt(intervalSec / 3600 / 24); // Anzahl der Tage
var Stunde = parseInt((intervalSec - Tag * 24 * 3600) / 3600 // Stunde
var min = parseInt((intervalSec - Tag * 24 * 3600 - Stunde * 3600) / 60); // Minuten

// 2. Wenn die Differenz in Millisekunden kleiner als 0 ist, bedeutet dies, dass die Zielzeit kleiner als die aktuelle Zeit ist. Die zu diesem Zeitpunkt erfassten Werte sind alle negativ: -X Tage - Stunden - Minuten. Es werden nur die negativen Tage davor angezeigt.
Wenn (intervalMsec < 0) {
Stunde = 0 - Stunde;
         min = 0 - min;
}

// 3. Zeichenfolgen verketten und
zurückgeben var rs = Tag 'Tag' Stunde 'Stunde' min 'Minute';
Geben Sie rs;
zurück }

// Aktuelle Uhrzeit: 28.12.2014 13:26
console.log(getDownTime(new Date('2015/06/01'))); // => 154 Tage 10:33
console.log(getDownTime(new Date('2014/01/01'))); // =>
6.3 Vergleichen Sie die Größen zweier Datumsobjekte

Hinweis: Sie können die beiden mit der Anzahl der Millisekunden der Startzeit vergleichen, um die Größe zu unterscheiden.

Beispiel:

Code kopieren Der Code lautet wie folgt:
var dt1 = neues Datum('01.12.2015');
var dt2 = neues Datum('25.12.2015');
console.log(dt1 > dt2); // => false

Stellungnahme:
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