Description du problème :
Utilisez JavaScript pour générer un tableau de compte à rebours de 7 jours.
Par exemple, nous sommes aujourd'hui le 1er octobre et le tableau généré est ["25 septembre", "26 septembre", "27 septembre", "28 septembre", "29 septembre", "30 septembre", "1er octobre "].
La difficulté est qu'il faut déterminer si ce mois (et peut-être le mois précédent) a 30 ou 31 jours, et il y a aussi 28 ou 29 jours en février de Rui Nian.
Idées de réponses :
Ça n'a pas besoin d'être si compliqué, c'est très simple en js, car l'objet date de js peut participer à des opérations mathématiques ! ! ! Regardez le code ci-dessous :
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);
Le résultat est le suivant :
Si l'exigence ne précise pas l'heure d'un certain jour, mais est calculée en fonction de l'heure actuelle du système, c'est également possible.
Calculez ce tableau de compte à rebours de 7 jours en fonction de l'heure actuelle du système :
var now = new Date(); // Cet algorithme peut gérer automatiquement les années bissextiles et non bissextiles. 2012 est une année bissextile, donc février a le 29
vars = '';
var je = 0;
tandis que (je < 7) {
s = now.getFullYear() '/' (now.getMonth() 1) '/' now.getDate() 'n';
Maintenant = new Date(maintenant - 24 * 60 * 60 * 1000); // C'est la clé ! ! ! L'effet de soustraire les millisecondes d'un jour est d'avancer la date d'un jour
je ;
>
console.log(s);
Le résultat est tel qu'indiqué sur la figure :
Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à tout le monde dans l'apprentissage des opérations sur les objets de date js. Le prochain article vous présentera les problèmes de formatage de date en js. Pour plus d'informations, veuillez cliquer sur Javascript Format de date.