var myDate = new Date();
var endtime= new Date(myDate.getDate()+1,23:59:59);
alert(endtime);
почему нет значения конечного времени? если я хочу добавить 1 день 10 часов 50 минут 30 секунд до сейчас, как установить код конца? спасибо
var myDate = new Date();
var endtime= new Date(myDate.getDate()+1,23:59:59);
alert(endtime);
почему нет значения конечного времени? если я хочу добавить 1 день 10 часов 50 минут 30 секунд до сейчас, как установить код конца? спасибо
Попробуйте использовать один из двух способов...
function addDays(myDate,days) {
return new Date(myDate.getTime() + days*24*60*60*1000);
}
var today = new Date();
var tomorrow = new Date();
tomorrow.setDate(today.getDate()+1);
попробуйте это
var date = new Date();
var numberToAdd = 1;
date.setDate(date.getDate() + numberToAdd);
Вам нужно будет добавить дни в миллисекундах:
var tomorrow = new Date(Date.now() + 1 * 24*3600*1000);
Конечно, вы можете добавить различное количество времени, вам просто нужно подсчитать его в миллисекундах при использовании конструктора Date или set/getTime().
Вы также можете установить разные единицы по отдельности, используя их методы Date
:
var sometime = new Date; // now
sometime.setDate(sometime.getDate() + numberOfDays);
sometime.setHours(sometime.getHours() + numberOfHours);
sometime.setMinutes(sometime.getMinutes() + numberOfMinutes);
...
Вы не можете установить дату с поплавковым значением, она будет усечена при преобразовании в Integer.
Но методы настройки выше миллисекунд и выше даты имеют необязательные атрибуты, поэтому вы можете комбинировать параметр:
var sometime = new Date; // now
sometime.setFullYear(
sometime.getFullYear() + numberOfYears,
sometime.getMonth() + numberOfMonths,
sometime.getDate() + numberOfDays
);
sometime.setHours(
sometime.getHours() + numberOfHours,
sometime.getMinutes() + numberOfMinutes,
...
);
Я всегда создаю 7 функций, чтобы работать с датой в JS: addSeconds, addMinutes, addHours, addDays, addWeeks, addMonths, addYears.
Здесь вы можете увидеть пример: http://jsfiddle.net/tiagoajacobi/YHA8x/
Как использовать:
var now = new Date();
console.log(now.addWeeks(3));
Это следующие функции:
Date.prototype.addSeconds = function(seconds) {
this.setSeconds(this.getSeconds() + seconds);
return this;
};
Date.prototype.addMinutes = function(minutes) {
this.setMinutes(this.getMinutes() + minutes);
return this;
};
Date.prototype.addHours = function(hours) {
this.setHours(this.getHours() + hours);
return this;
};
Date.prototype.addDays = function(days) {
this.setDate(this.getDate() + days);
return this;
};
Date.prototype.addWeeks = function(weeks) {
this.addDays(weeks*7);
return this;
};
Date.prototype.addMonths = function (months) {
var dt = this.getDate();
this.setMonth(this.getMonth() + months);
var currDt = this.getDate();
if (dt !== currDt) {
this.addDays(-currDt);
}
return this;
};
Date.prototype.addYears = function(years) {
var dt = this.getDate();
this.setFullYear(this.getFullYear() + years);
var currDt = this.getDate();
if (dt !== currDt) {
this.addDays(-currDt);
}
return this;
};