189 votes

Comment déterminer un an à partir de maintenant en Javascript

Je suis en train d'essayer d'obtenir la date dans un an à partir de maintenant, et ça ne fonctionne pas.

JS:

var now = new Date();

var oneYr = new Date();
oneYr.setYear(now.getYear() + 1);
$("#yearFromNow").append(oneYr.toString());

var oneMonth = new Date();
oneMonth.setMonth(now.getMonth() + 1);
$("#monthFromNow").append(oneMonth.toString());

Résultat :

un mois = Jeu Dec 22 112 15:16:01 GMT-0500 (Eastern Standard Time)

un an = Dim Jan 22 2012 15:16:01 GMT-0500 (Eastern Standard Time)

L'année affiche Dec 22 112 - ?? Le mois s'affiche correctement Jan 22 2012.

Si vous voulez le modifier, http://jsbin.com/alezaj/edit#javascript,html,live. Cela fonctionne avec Chrome et Firefox.

Merci !

2voto

James Westgate Points 6789

Utilisez setFullyear comme d'autres l'ont posté mais sachez que cela renvoie une valeur de type timestamp et non un objet date. C'est également, à mon avis, un bon candidat pour ajouter des fonctionnalités via le prototype. Cela nous amène au schéma suivant:

Date.prototype.addYears = function(n) {
    var now = new Date();
    return new Date(now.setFullYear(now.getFullYear() + n));
};

console.log('L'année prochaine est', new Date().addYears(1));

1voto

Freestyle09 Points 772

2020

C'est une bibliothèque de date/heure parfaite appelée Moment.js avec cette bibliothèque vous pouvez simplement écrire :

moment().subtract(1,'year')

et appeler n'importe quel format que vous souhaitez :

moment().subtract(1,'year').toDate()
moment().subtract(1,'year').toISOString()

Voir la documentation complète ici : https://momentjs.com/

0voto

Nadeem Haidar Points 1

De manière très simple. utilisez ce code.

// définir la fonction 
function nextYearDate(date1) {
    var date2 = new Date(date1);
    var date3 = date2.setDate(date2.getDate() - 1);
    var date = new Date(date3);
    var day = date.getDate();
    var month = date.getMonth()+1;
    var year = date.getFullYear()+1;
    var newdate = year + '-' + (month < 10 ? '0' : '') + month + '-' + (day < 10 ? '0' : '') + day;
    $("#next_date").val(newdate);
}
// appeler la fonction.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X