Maison >interface Web >js tutoriel >Résumé des objets Date en JavaScript

Résumé des objets Date en JavaScript

黄舟
黄舟original
2017-10-12 10:51:441504parcourir

Dans la vie quotidienne, diverses formes de personnages temporels sont partout. L’émergence de la notion 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.

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.

Cette fois, je partagerai les compétences d'utilisation de la date dans Date, j'espère que cela pourra 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 ou vous en souvenez 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 toujours en utilisant une boucle for pour traiter les résultats.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn