如何在javascript中将天数添加到现在日期

How to add days to the now date in javascript?

本文关键字:添加 日期 javascript      更新时间:2023-09-26
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);
}

演示1

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

演示2

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

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

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

但是,大于毫秒和高于日期的 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,
  ...
);

试试这个

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

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