Obtenir le premier et le dernier date du mois précédent, en JQuery
J'ai ce script,
var today = new Date();
var dd = today.getDate();
var ddd = today.getDate()-1;
var dddd = today.getDate()-2;
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10){
dd='0'+dd
}
if(mm<10){
mm='0'+mm
}
if(ddd<10){
ddd='0'+ddd
}
var today = dd+'/'+mm+'/'+yyyy;
var d2 = ddd+'/'+mm+'/'+yyyy;
var d3 = dddd+'/'+mm+'/'+yyyy;
Avec ce que je peux obtenir les 3 derniers jours de la journée en cours, mais dans ce cas, aujourd'hui, est 02 si je reste deux jours je obtenir 0, mais je veux que dans ce cas, le dernier jour du mois précédent, comment faire?
Voici mon violon
- Si vous créez date de trois objets, puis soustraire le nombre de millisecondes dans une journée (1000 * 60 * 60 * 24), vous avez une date qui est d'hier, indépendamment des mois, des années, que ce soit. Maintenant, répétez trois fois
- Déjà résolu à ce lien stackoverflow.com/questions/10931288/...
- ce n'est pas vrai pour les frontières de l'heure d'été qui sont de 23 ou 25 heures
- Je vous ai fourni un travail extrait avec 4 lignes de code qui produit un résultat exactement le même que vous le désirez. Quoi d'autre avez-vous besoin?
Vous devez vous connecter pour publier un commentaire.
C'est le premier jour du mois en cours
new Date(now.getFullYear(), now.getMonth(), 1)
pour obtenir le dernier jour du mois précédent, créer une date de 1 jour plus tôt:new Date(now.getFullYear(), now.getMonth(), 1 - 1)
.Pour obtenir le premier jour du mois précédent, on doit soustraire 1 à partir du mois de composants
new Date(now.getFullYear(), now.getMonth() - 1, 1)
mais il y a un problème si le mois de janvier (0) et le mois précédent est de décembre (11). Donc j'ai enveloppé le mois d'expression de la création d'un cycle de sorte qu'il retourne toujours une positiove valeur.JS:
if dd < 10 { dd = '0' + dd }
de le changernow = 2016/01/05
puisprevMonthFirstDate = 2016/12/01
qui est faux.Essayez d'utiliser soufflet
Vous pouvez le faire comme ceci
Ce que j'ai deviné, c'est si courant mois de février alors votre sortie doit être
1,31
parce que janvier, premier jour et le dernier jour est le 1er et le 31. Donc, si c'est le cas, alorsCe sera attribué avec le premier jour du mois précédent.
Aussi, pour le deuxième cas
Vous pouvez simplement utiliser
myDate
pour trouver ce que vous voulez.Essayez ceci: obtenir la date d'aujourd'hui et de définir la date à 1 qui va arriver le premier du mois en cours. Ensuite, réglez l'heure à -1, qui va vers les mois précédents le dernier jour. Puis régler le jour à 1 pour obtenir le premier jour du mois précédent.
JSFiddle Démo
toLocaleDateString
méthode selon vos besoins.Une pratique astuce pour obtenir la fin du mois dernier, est le de prendre date et de l'utilisation
setDate(0)
. Ensuite l'utiliser pour créer un nouvel objet date etsetDate(1)
pour le début du moisJS:
JS: