【发布时间】:2021-01-11 15:38:26
【问题描述】:
我正在尝试为日期添加天数。我从用户那里获取输入,其中每个字段都有单独的输入框,例如 no。几年,没有几个月,没有这样的日子。
正如您在第二个输入字段行中看到的那样,我不接受年、日、月等。 在第一行,我得到了一个合适的日期,例如:2020 10 05 00 00 00 然后将它们传递给日期构造函数以设置日期。
例如。 Date firstdate = new Date(2020, 10, 05, 00, 00,00);
我正在使用以下函数为上述日期添加天数
Date.prototype.addDays = function(days) {
var date = new Date(this.valueOf());
date.setDate(date.getDate() + days);
return date;
}
我通过调用这样的函数将天数添加到前一个日期。 var newdate = firstdate.addDays(totaldays);
现在的问题是,当我计算天数时,它不包括带有指定日期的闰年和月份。因为我是这样计算天数的:
totaldays = (years * 365) + (months * 30) + days;
有什么方法可以完美地添加天数?例如,如果用户输入日期,如
2020 12 10 00 00 00
然后像这样添加天数和年数
1 年 3 个月 0 天 00 00 00
所以理想情况下应该计算 3 个月,即 1 月、2 月、3 月,因为用户输入了 12 月的日期,所以应该添加下三个月的日期。
那么我如何获得完美的天数? 对不起,这个问题可能感觉太长或不合适。但我从一周开始就在做这个。 注意:我不能使用任何外部链接、API、图书馆,因为这是一个学校项目。
任何帮助都会很棒。也对不起我的英语。我不是母语人士。
【问题讨论】:
标签: javascript html date datetime