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

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

4

4 回答 4

14

尝试两种方法中的一种对您有用...

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

演示1

或者

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

演示2

于 2012-07-05T06:33:20.660 回答
6

尝试这个

var date = new Date();
var numberToAdd = 1;
date.setDate(date.getDate() + numberToAdd); 
于 2012-07-05T06:34:43.260 回答
6

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

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);
...

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

但是高于毫秒和高于日期的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,
  ...
);
于 2012-07-05T18:44:47.503 回答
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;
        };
于 2014-11-07T19:22:42.313 回答