Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der Funktionsweise des Date-Objekts in JavaScript (Erzeugen eines Arrays, das 7 Tage herunterzählt)_Javascript-Kenntnisse

Detaillierte Erläuterung der Funktionsweise des Date-Objekts in JavaScript (Erzeugen eines Arrays, das 7 Tage herunterzählt)_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 15:37:301427Durchsuche

Problembeschreibung:

Verwenden Sie JavaScript, um ein 7-Tage-Countdown-Array zu generieren.

Heute ist beispielsweise der 1. Oktober und das generierte Array ist [„25. September“, „26. September“, „27. September“, „28. September“, „29. September“, „30. September“, „1. Oktober“. "].

Die Schwierigkeit besteht darin, dass Sie feststellen müssen, ob dieser Monat (und möglicherweise der Vormonat) 30 oder 31 Tage hat und der Februar von Rui Nian auch 28 oder 29 Tage hat.

Antwortideen:

Es muss nicht so kompliziert sein, es ist in js sehr einfach, weil das Datumsobjekt von js an mathematischen Operationen teilnehmen kann! ! ! Schauen Sie sich den folgenden Code an:

var now = new Date('2012/3/2 12:00:00'); // 这个算法能自动处理闰年和非闰年。2012年是闰年,所以2月有29号
var s = '';
var i = 0;
while (i < 7) {
 
 s += now.getFullYear() + '/' + (now.getMonth() + 1) + '/' + now.getDate() + '\n';
 now = new Date(now - 24 * 60 * 60 * 1000); // 这个是关键!!!减去一天的毫秒数效果就是把日期往前推一天
 i++;
}
console.log(s);

Das Ergebnis ist wie folgt:

Sollte die Anforderung nicht die Uhrzeit eines bestimmten Tages angeben, sondern anhand der aktuellen Systemzeit berechnet werden, ist dies ebenfalls möglich.

Berechnen Sie dieses 7-Tage-Countdown-Array basierend auf der aktuellen Systemzeit:

var now = new Date(); // Dieser Algorithmus kann Schaltjahre und Nicht-Schaltjahre automatisch verarbeiten. 2012 ist ein Schaltjahr, daher gibt es im Februar den 29.
var s = '';
var i = 0;
while (i < 7) {
 
s = now.getFullYear() '/' (now.getMonth() 1) '/' now.getDate() 'n';
Now = new Date(now - 24 * 60 * 60 * 1000); // Das ist der Schlüssel! ! ! Durch das Subtrahieren der Millisekunden eines Tages wird das Datum um einen Tag nach vorne verschoben
ich ;
}
console.log(s);

Das Ergebnis ist wie in der Abbildung dargestellt:

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für alle beim Erlernen von js-Datumsobjektoperationen hilfreich ist. Der nächste Artikel stellt Ihnen die Probleme bei der Datumsformatierung in js vor. Für weitere Informationen klicken Sie bitte auf Javascript-Datumsformat.

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