如何在javascript中添加日期到现在的日期?

时间:2012-07-05 06:30:05

标签: javascript datetime

var myDate = new Date();
var endtime= new Date(myDate.getDate()+1,23:59:59);
alert(endtime);

为什么没有终结时间的价值?如果我想将1天10小时50分30秒添加到现在的时间,如何编写终结代码?谢谢

4 个答案:

答案 0 :(得分:14)

尝试以下两种方式之一对你有用......

function addDays(myDate,days) {
return new Date(myDate.getTime() + days*24*60*60*1000);
}

DEMO1

var today = new Date();
var tomorrow = new Date();
tomorrow.setDate(today.getDate()+1); 

DEMO2

答案 1 :(得分:6)

试试这个

var date = new Date();
var numberToAdd = 1;
date.setDate(date.getDate() + numberToAdd); 

答案 2 :(得分:5)

您需要以毫秒为单位添加天数:

var tomorrow = new Date(Date.now() + 1 * 24*3600*1000);

当然你可以添加不同的时间,你只需要在使用Date构造函数或设置/ getTime()时以毫秒计算它。

您还可以使用各自的Date methods

逐个设置不同的单位
var sometime = new Date; // now
sometime.setDate(sometime.getDate() + numberOfDays); 
sometime.setHours(sometime.getHours() + numberOfHours); 
sometime.setMinutes(sometime.getMinutes() + numberOfMinutes);
...

您不能使用浮点值设置日期,当转换为整数时,它将被截断。

但是高于毫秒且高于日期的setter方法具有可选属性,因此您可以组合设置:

var sometime = new Date; // now
sometime.setFullYear(
  sometime.getFullYear() + numberOfYears,
  sometime.getMonth() + numberOfMonths,
  sometime.getDate() + numberOfDays
); 
sometime.setHours(
  sometime.getHours() + numberOfHours,
  sometime.getMinutes() + numberOfMinutes,
  ...
);

答案 3 :(得分:0)

我总是创建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;
        };