javascript add value month
javascript add value month
我正在创建一个系统,我需要每月为一个变量添加一个值。例如,去年1月我有5个假期,每个月我需要增加1个假期。细分如下:一月=5个假期二月=6片叶子(这个月我用光了2片叶子,剩下4片叶子)三月=5片叶子四月=6叶等等。
我将采用什么方法或如何实现它?
非常感谢!!
如果只是计算,那么可以通过执行d.setMonth(d.getMonth() + 1)
来添加月份。这使得Date完成了计算每个月多长时间的所有繁琐工作。
var initial_value = 5,
initial_date = new Date(2014, 0, 1), // January
end_date = new Date(2014, 3, 1); // April
var spent = 2;
var value = initial_value,
date = new Date(initial_date);
while (date.setMonth(date.getMonth() + 1), date <= end_date)
value += 1;
value -= spent;
value; // 6
此方法适用于每月的< 29
天,对于29 <= x <= 31
天,您将需要进行额外检查
即检查到那时它改变了多少个月,如果不是1
,在这些情况下你想要什么行为?
如果你总是想要一个月的最后一天,那么它只比上面长几步,
d.setDate(1); // go to a "safe day" to change months
d.setMonth(d.getMonth() + 2); // go 2 months forward
d.setDate(0); // roll back to the last day of the previous month
一些额外的东西我一直在玩
var dates = (function () {
function isLeapYear(year) {
if (year % 4) // not divisible by 4
return false;
if (year % 100) // not divisible by 100
return true;
if (year % 400) // not divisible by 400
return false;
return true;
}
return {
year: new Date().getUTCFullYear(),
get leapYear() { return isLeapYear(this.year); },
isLeapYear: isLeapYear,
get total() { return 365 + isLeapYear(this.year); },
0: 31,
get 1() { return 28 + isLeapYear(this.year); },
2: 31,
3: 30,
4: 31,
5: 30,
6: 31,
7: 31,
8: 30,
9: 31,
10: 30,
11: 31
};
}());
我在向日期添加月份时使用此选项,并且我不想溢出月份:
function addMonthsNoOverflow(dateParam, intParam) {
var sum = new Date(new Date(dateParam.getTime()).setMonth(dateParam.getMonth() + intParam);
if (sum.getDate() < dateParam.getDate()) { sum.setDate(0); }
return(sum);
}
注:
它通过消除溢出处理29、30或31变成1、2或3的情况
月份的日期不是零索引的,所以setDate(0)是上个月的最后一天。
相关文章:
- 在ember/handlers中使用value和valueBinding有什么区别
- 需要url导航从DropDown Value onClick按钮传递url变量
- 用Javascript在下拉列表中选择VALUE选项
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- 如何将日期字符串视为格式化数组[EYEAR,MONTH,DAY]
- HTML Value finding
- Javascript GetElementByID has no value
- 如何获取文本框组的值,并使用jquery将它们放入(key:Value)数组中
- .value返回字符串,直到我将其保存到变量
- JavaScript check value
- 使用javascript和css选择器获取value属性的内容
- HTML SELECT-使用JavaScript按VALUE更改所选选项
- 如果URL为(value),则使用css类
- 将php值传递给点击(getFunction(this.value))问题
- onchange选择get value并执行查询,然后在同一页面上显示结果
- textbox.value在javascript中不起作用
- php Matching javascript value
- 使用lodash从对象数组中获取uniq[key,value]
- 显示多个具有相同源javascript(map(key,value))数据的图表
- javascript add value month