Was ist los mit diesem Skript?
Wenn ich meine Uhr auf 29/04/2011 eingestellt habe, wird in der Wocheingabe 36/4/2011 hinzugefügt! aber das korrekte Datum sollte sein 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);
Und ja, das funktioniert auch, wenn date.getDate() + 7
größer ist als der letzte Tag des Monats. Siehe MDN für weitere Informationen.
Etwas wie das?
var days = 7;
var date = new Date();
var res = date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
alert(res);
wieder Datum konvertieren:
date = new Date(res);
alert(date)
oder alternativ:
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)
Der einfachste Weg, ein Datum x Tage in der Zukunft zu erhalten, besteht darin, das Datum zu erhöhen:
function addDays(dateObj, numDays) {
return dateObj.setDate(dateObj.getDate() + numDays);
}
Beachten Sie, dass dies das gelieferte Datumsobjekt ändert, z.
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);
Sie können den Wochentag für das folgende Beispiel hinzufügen oder erhöhen und hoffen, dass dies für Sie hilfreich ist.
//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();
Zwei Probleme hier:
seven_date
ist eine Zahl und kein Datum. 29 + 7 = 36
getMonth
gibt einen nullbasierten Index des Monats zurück. Wenn Sie also eine hinzufügen, erhalten Sie nur die aktuelle Monatsnummer. var future = new Date(); // get today date
future.setDate(future.getDate() + 7); // add 7 days
var finalDate = future.getFullYear() +'-'+ ((future.getMonth() + 1) < 10 ? '0' : '') + (future.getMonth() + 1) +'-'+ future.getDate();
console.log(finalDate);
Verwenden der Methoden des Date-Objekts werden könnte nützlich sein.
z.B.:
myDate = new Date();
plusSeven = new Date(myDate.setDate(myDate.getDate() + 7));