L'objet Date est l'un des objets les plus couramment utilisés, mais beaucoup de gens ne savent pas du tout comment l'utiliser. Même pour certaines opérations simples, ils utilisent moment sans l'essayer eux-mêmes. Les caractères temporels sous diverses formes sont partout. L’émergence du concept de temps, l’invention des unités de temps et des outils de chronométrage ont entraîné chez l’être humain des changements difficiles à décrire en un seul mot. Aujourd'hui, parlons de dates. Jetons un coup d'œil à l'objet Date en JavaScript.
Cette fois, je partagerai les compétences d'utilisation de la date dans Date, dans l'espoir d'inspirer tout le monde.
Introduction au site officiel de MDN
La méthode setDate() spécifie le nombre de jours dans un objet date en fonction de l'heure locale.
Si dayValue est en dehors de la plage raisonnable du mois, setDate mettra à jour l'objet Date en conséquence.
Par exemple, si vous spécifiez 0 pour dayValue, alors la date sera fixée au dernier jour du mois précédent.
Obtenir le nombre de jours dans le mois
// 获取月份天数 function getMonthDayCount(year, month) { return new Date(year, month, 0).getDate(); } console.log(getMonthDayCount(2017, 10)); // 31
Date L'essence du troisième paramètre est la même que setDate .
Comme la date est automatiquement renvoyée au dernier jour du mois précédent lorsqu'elle est égale à 0, il n'est pas nécessaire de diminuer le mois ici, ce qui est parfait.
Obtenez le nombre de jours dans tous les mois
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]
Il s'agit d'une extension de ce qui précède, pas beaucoup d'explications.
Que ce soit une année bissextile
function isLeapYear(year) { return (year % 4 == 0) && (year % 100 != 0 || year % 400 == 0); }
C'est le code sur Internet, je crois que la plupart des gens l'utilisent .
Mais est-ce que vous le comprenez vraiment ou vous en souvenez-vous vraiment ?
Je ne peux pas de toute façon. .
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 ]
En regardant les choses de cette façon, c'est très simple et facile à comprendre.
Et vous n’avez pas besoin de vous en souvenir. Pensez-vous que vous ne pouvez pas l’oublier même si vous le souhaitez ?
Opérations d'addition et de soustraction de jours
J'ai vu quelqu'un utiliser les secondes relatives pour calculer les jours avant ou après les jours, et même des calculs sur plusieurs mois et années.
En fait, il suffit de définir directement Date, et il gérera automatiquement la situation de croisement des mois et des années.
// 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
Résumé
Bien que ces choses soient très basiques, tout le monde connaît peut-être le nom de la méthode, mais beaucoup de gens ne l'utiliserai toujours pas.
C'est la même chose que d'utiliser jq mais en utilisant toujours une boucle for pour traiter les résultats.
Voici seulement quelques exemples, il y a peut-être d'autres techniques opératoires magiques qui n'attendent que vous pour les découvrir.
Recommandations associées :
Résumé de l'objet Date en JavaScript
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!