Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung von Date-Objekten in JavaScript

Zusammenfassung von Date-Objekten in JavaScript

黄舟
黄舟Original
2017-10-12 10:51:441400Durchsuche

Im täglichen Leben gibt es überall verschiedene Formen von Zeitzeichen. Das Aufkommen des Zeitbegriffs, die Erfindung von Zeiteinheiten und Zeitmessgeräten haben Veränderungen für den Menschen mit sich gebracht, die sich nur schwer mit einem Wort beschreiben lassen. Lassen Sie uns heute über Termine sprechen. Werfen wir einen Blick auf das Date-Objekt in JavaScript.

Das Datumsobjekt ist eines der am häufigsten verwendeten Objekte, aber viele Leute wissen überhaupt nicht, wie man es bedient. Selbst für einige einfache Operationen verwenden sie Moment, ohne es selbst auszuprobieren.

Dieses Mal werde ich die Fähigkeiten zur Verwendung von Datteln in Date weitergeben, ich hoffe, es kann alle inspirieren.

Einführung in die offizielle MDN-Website

Die Methode setDate() gibt die Anzahl der Tage in einem Datumsobjekt basierend auf der Ortszeit an.

Wenn dayValue außerhalb des angemessenen Bereichs des Monats liegt, aktualisiert setDate das Date-Objekt entsprechend.

Wenn Sie beispielsweise 0 für dayValue angeben, wird das Datum auf den letzten Tag des Vormonats gesetzt.

Ermitteln Sie die Anzahl der Tage im Monat


// 获取月份天数
function getMonthDayCount(year, month) {
 return new Date(year, month, 0).getDate();
}
console.log(getMonthDayCount(2017, 10)); // 31

Datum Der Kern des dritten Parameters ist derselbe wie bei setDate .

Da das Datum automatisch auf den letzten Tag des Vormonats zurückgesetzt wird, wenn es 0 ist, besteht hier keine Notwendigkeit, den Monat zu verringern, was genau richtig ist.

Ermitteln Sie die Anzahl der Tage in allen Monaten


function getAllMonthDayCount(year) {
 var days = [31, new Date(year, 2, 0).getDate(), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
 return days;
}
console.log(getAllMonthDayCount(2016));// [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

Dies ist eine Erweiterung des oben Gesagten, nicht viel Erklärung.

Ob es ein Schaltjahr ist


function isLeapYear(year) {
 return (year % 4 == 0) && (year % 100 != 0 || year % 400 == 0);
}

Dies ist der Code im Internet, ich glaube, die meisten Leute verwenden ihn .

Aber verstehst du es wirklich oder erinnerst du dich daran?

Ich kann sowieso nicht. .


function isLeapYear(year) {
 return new Date(year, 2, 0).getDate() === 29;
}
console.log([
 isLeapYear(2000),
 isLeapYear(2016),
 isLeapYear(2017),
 isLeapYear(2018)
]); // [ true, true, false, false ]

So gesehen ist es sehr einfach und leicht zu verstehen.

Und Sie müssen sich nicht daran erinnern. Glauben Sie, dass Sie es nicht vergessen können, selbst wenn Sie es möchten?

Tagesadditions- und -subtraktionsoperationen

Ich habe gesehen, wie jemand relative Sekunden verwendet hat, um Tage vor oder nach Tagen zu berechnen, und sogar Berechnungen über Monate und Jahre hinweg.

Stellen Sie das Datum einfach direkt ein, und die Situation, dass sich Monate und Jahre überschneiden, wird automatisch gehandhabt.


// 10天后是几月几号
var dt = new Date('2016-12-25');
dt.setDate(dt.getDate() + 10);
console.log(dt.toLocaleDateString()); // 2017/1/4


// 10天前是几月几号
var dt = new Date('2017-01-04');
dt.setDate(dt.getDate() - 10);
console.log(dt.toLocaleDateString()); // 2016/12/25

Zusammenfassung

Obwohl diese Dinge sehr einfach sind, kennt vielleicht jeder den Namen der Methode, aber viele Menschen Ich werde es immer noch nicht verwenden.

Es ist dasselbe wie die Verwendung von jq, aber es wird immer noch eine for-Schleife verwendet, um die Ergebnisse zu verarbeiten.

Das obige ist der detaillierte Inhalt vonZusammenfassung von Date-Objekten in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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