J'ai le script suivant qui revient le lendemain:
function today(i)
{
var today = new Date();
var dd = today.getDate()+1;
var mm = today.getMonth()+1;
var yyyy = today.getFullYear();
today = dd+'/'+mm+'/'+yyyy;
return today;
}
En utilisant ceci:
today.getDate()+1;
Je reçois le lendemain du mois (par exemple, aujourd'hui, il en aurait 16).
Mon problème est que cela pourrait être le dernier jour du mois, et donc finir par revenir 2/04/2014
Est-il possible d'obtenir la date correcte garantie pour le lendemain?
Vous pouvez utiliser:
var today = new Date();
var tomorrow = new Date();
tomorrow.setDate(today.getDate()+1);
Par exemple, puisqu'il y a 30 jours en avril, le code suivant sera généré le 1er mai:
var day = new Date('Apr 30, 2000');
console.log(day); // Apr 30 2000
var nextDay = new Date(day);
nextDay.setDate(day.getDate()+1);
console.log(nextDay); // May 01 2000
Voir violon .
Copié-collé à partir d'ici: Incrémenter une date en JavaScript
Trois options pour vous:
En utilisant uniquement l'objet Date de JavaScript (pas de bibliothèques):
var today = new Date(); var tomorrow = new Date(today.getTime() + (24 * 60 * 60 * 1000));
Ou si cela ne vous dérange pas de changer la date en place (plutôt que de créer une nouvelle date):
var dt = new Date(); dt.setTime(dt.getTime() + (24 * 60 * 60 * 1000));
Edit: Voir aussi la réponse de Jigar et le commentaire de David ci-dessous: var demain = new Date (); demain.setDate (demain.getDate () + 1);
Utilisation de MomentJS:
var today = moment(); var tomorrow = moment(today).add(1, 'days');
(Attention, add modifie l'instance sur laquelle vous l'appelez, plutôt que de renvoyer une nouvelle instance, donc aujourd'hui.add (1, 'days') serait modifié aujourd'hui. C'est pourquoi nous commençons par un op de clonage sur var demain = .... )
Utilisation de DateJS, mais il n’a pas été mis à jour depuis longtemps:
var today = new Date(); // Or Date.today() var tomorrow = today.add(1).day();
L'utilisation de l'objet Date garantit cela. Par exemple, si vous essayez de créer April 31st
:
new Date(2014,3,31) // Thu May 01 2014 00:00:00
Veuillez noter que c'est indexé à zéro, donc Jan est
0
, février est1
etc.