119 votes

JavaScript comment obtenir la date du lendemain au format dd-mm-yy

J'essaie de faire en sorte que JavaScript affiche la date du lendemain au format (jj-mm-aaaa).

J'ai ce script qui affiche la date du jour au format (dd-mm-yyyy).

var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")

Displays: 25/2/2012 (todays date of this post)

Mais comment faire pour qu'il affiche la date du lendemain dans le même format, c'est-à-dire 26/2/2012

J'ai essayé ceci :

var day = currentDate.getDate() + 1

Cependant, je pourrais garder +1 et dépasser 31, il est évident qu'il n'y a pas plus de 32 jours dans un mois.

J'ai cherché pendant des heures mais il semble qu'il n'y ait pas de réponse ou de solution à ce problème.

4voto

Shiwangi Points 163

Méthode 1 : Si vous n'avez pas de problème à utiliser d'autres bibliothèques, cette méthode peut vous convenir. moment.js

moment().add('days', 1).format('L');

Méthode 2 : Utilisation de Date.js,

<script type="text/javascript" src="date.js"></script>    
var tomorrow = new Date.today().addDays(1).toString("dd-mm-yyyy"); 

Cette méthode utilise une bibliothèque externe et non la bibliothèque native de Date. Comme mon bootstrap-datetimepicker utilisait moment.js et la bibliothèque native Date, j'ai préféré la méthode 1. Cette méthode pregunta mentionne ces méthodes et d'autres encore.

4voto

DNestoff Points 96

La réponse ci-dessous utilise une combinaison des réponses de Roderick et Phil avec deux conditionnelles supplémentaires qui prennent en compte les mois/jours à un seul chiffre.

De nombreuses API avec lesquelles j'ai travaillé sont très pointilleuses à ce sujet et exigent que les dates aient un format huit chiffres (par exemple "02022017"), au lieu des 6 ou 7 chiffres que la classe de date vous donnera dans certaines situations.

function nextDayDate() {
      // get today's date then add one
      var nextDay = new Date();
      nextDay.setDate(nextDay.getDate() + 1);

      var month = nextDay.getMonth() + 1;
      var day = nextDay.getDate();
      var year = nextDay.getFullYear();

      if (month < 10) { month = "0" + month } 
      if (day < 10) { day = "0" + day }

      return month + day + year;
}

3voto

Cas d'utilisation :

Date.tomorrow() // 1 day next 
Date.daysNext(1) // alternative Date.tomorrow()
Date.daysNext(2) // 2 days next. 

SI "demain" ne dépend pas d'aujourd'hui mais d'une autre date différente de celle d'aujourd'hui. Date.now() Il ne faut pas utiliser de méthodes statiques, mais plutôt des méthodes non statiques :

i.e. : Fri Dec 05 2008

 var dec5_2008=new Date(Date.parse('2008/12/05'));
 dec5_2008.tomorrow(); // 2008/12/06
    dec5_2008.tomorrow().day // 6
    dec5_2008.tomorrow().month // 12
    dec5_2008.tomorrow().year //2008
 dec5_2008.daysNext(1); // the same as previous
 dec5_2008.daysNext(7) // next week :)

API :

Dateold=Date;function Date(e){var t=null;if(e){t=new Dateold(e)}else{t=new Dateold}t.day=t.getDate();t.month=t.getMonth()+1;t.year=t.getFullYear();return t}Date.prototype.daysNext=function(e){if(!e){e=0}return new Date(this.getTime()+24*60*60*1e3*e)};Date.prototype.daysAgo=function(e){if(!e){e=0}return Date.daysNext(-1*e)};Date.prototype.tomorrow=function(){return this.daysNext(1)};Date.prototype.yesterday=function(){return this.daysAgo(1)};Date.tomorrow=function(){return Date.daysNext(1)};Date.yesterday=function(){return Date.daysAgo(1)};Date.daysNext=function(e){if(!e){e=0}return new Date((new Date).getTime()+24*60*60*1e3*e)};Date.daysAgo=function(e){if(!e){e=0}return Date.daysNext(-1*e)}

1voto

Sohail Arif Points 233

C'est très simple :

1 : Créer un objet date avec la date et l'heure du jour. 2 : Utiliser les méthodes de l'objet date pour récupérer le jour, le mois et l'année complète et les concaténer à l'aide de l'opérateur +.

Exemple de code :

var my_date = new Date();
var tomorrow_date = (my_date.getDate() + 1) + "-" + (my_date.getMonth() + 1) + "-" + my_date.getFullYear();
document.write(tomorrow_date);

0voto

preetika Points 1
function getMonday(d)
{
   // var day = d.getDay();
   var day = @Config.WeekStartOn
   diff = d.getDate() - day + (day == 0 ? -6 : 0);
   return new Date(d.setDate(diff));
}

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