Quel est le problème avec ce script?
Quand je règle mon horloge pour dire 29/04/2011, il ajoute 36/4/2011 dans l'entrée de semaine! mais la date correcte devrait être 6/5/2011
var d = new Date();
var curr_date = d.getDate();
var tomo_date = d.getDate()+1;
var seven_date = d.getDate()+7;
var curr_month = d.getMonth();
curr_month++;
var curr_year = d.getFullYear();
var tomorrowsDate =(tomo_date + "/" + curr_month + "/" + curr_year);
var weekDate =(seven_date + "/" + curr_month + "/" + curr_year);
{
jQuery("input[id*='tomorrow']").val(tomorrowsDate);
jQuery("input[id*='week']").val(weekDate);
}
var date = new Date();
date.setDate(date.getDate() + 7);
console.log(date);
Et oui, cela fonctionne aussi si date.getDate() + 7
est supérieur au dernier jour du mois. Voir MDN pour plus d'informations.
Quelque chose comme ça?
var days = 7;
var date = new Date();
var res = date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
alert(res);
convertir à nouveau date:
date = new Date(res);
alert(date)
ou bien:
date = new Date(res);
// hours part from the timestamp
var hours = date.getHours();
// minutes part from the timestamp
var minutes = date.getMinutes();
// seconds part from the timestamp
var seconds = date.getSeconds();
// will display time in 10:30:23 format
var formattedTime = date + '-' + hours + ':' + minutes + ':' + seconds;
alert(formattedTime)
Le moyen simple d’obtenir une date x jours dans l’avenir est d’incrémenter la date:
function addDays(dateObj, numDays) {
return dateObj.setDate(dateObj.getDate() + numDays);
}
Notez que cela modifie l'objet de date fourni, par ex.
function addDays(dateObj, numDays) {
dateObj.setDate(dateObj.getDate() + numDays);
return dateObj;
}
var now = new Date();
var tomorrow = addDays(new Date(), 1);
var nextWeek = addDays(new Date(), 7);
alert(
'Today: ' + now +
'\nTomorrow: ' + tomorrow +
'\nNext week: ' + nextWeek
);
var days = 7;
var date = new Date();
var res = date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var d = new Date(res);
var month = d.getMonth() + 1;
var day = d.getDate();
var output = d.getFullYear() + '/' +
(month < 10 ? '0' : '') + month + '/' +
(day < 10 ? '0' : '') + day;
$('#txtEndDate').val(output);
Vous pouvez ajouter ou augmenter le jour de la semaine pour l'exemple suivant en espérant que cela vous sera utile. Voyons ....
//Current date
var currentDate = new Date();
//to set Bangladeshi date need to add hour 6
currentDate.setUTCHours(6);
//here 2 is day increament for the date and you can use -2 for decreament day
currentDate.setDate(currentDate.getDate() +parseInt(2));
//formatting date by mm/dd/yyyy
var dateInmmddyyyy = currentDate.getMonth() + 1 + '/' + currentDate.getDate() + '/' + currentDate.getFullYear();
Deux problèmes ici:
seven_date
est un nombre, pas une date. 29 + 7 = 36
getMonth
renvoie un index du mois basé sur zéro. En ajoutant un, vous obtenez simplement le numéro du mois en cours. Utiliser les méthodes de l'objet Date volonté pourrait être utile.
par exemple.:
myDate = new Date();
plusSeven = new Date(myDate.setDate(myDate.getDate() + 7));