javascript - 添加迄今为止的天数

标签 javascript date

我发现了一段代码,可以在给定日期上添加天数。但是,它仅在日期为 YY-MM-DD 格式时有效,但如果日期为 DD-MM-YY 格式,则不起作用。

Fiddle对于 YY-MM-DD 格式(工作)

Fiddle对于 DD-MM-YY 格式(不起作用)

我进一步检查,如果我对 someDate.getDate() 发出警报,它会显示 NaN Not A Number

someDate = new Date('27-08-2013');
alert(someDate.getDate()); //NaN 

任何帮助将不胜感激。

最佳答案

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

关于javascript - 添加迄今为止的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18462621/

相关文章:

javascript - 无法获取引导工具提示来显示在 JS 中创建的图像

javascript - 在 jQuery 中使用动态 div ID

javascript - 关于javascript中日期函数的问题

java - 为什么 2 个日期之间的天数计算不正确?

r - 将文件读入 data.frame 时自动检测日期列

javascript - 我想将父函数调用到包装在对象中的函数中

javascript - 图标不显示 vue js

javascript - 如何将 C# 字典传递给 typescript map

java - 与无效日期(例如 20999-11-11 和 2009-01-111)不匹配的模式

Javascript 添加前导零到日期