- 论坛徽章:
- 0
|
使用js算出两个月之间差几个月
使用js算出两个月之间差几个月 .项目需求,算出两个月之间差几个月,不足一月按一个月算,即8月1日到9月2日就算两个月了,8月1日到9月1日就算一个月了,从网上找点资料,接合自己的需求,写出自己的js方法,现提供出来,供大家参考,例如开始日期为20110801,截止日期为20110902
Java代码
- function setRateValidity(){
- var beginDate = document.getElementById("crlimit:beginDate").value;
- var endDate = document.getElementById("crlimit:endDate").value;
- if(beginDate!=""&&endDate!=""&&endDate>=beginDate&&(endDate-beginDate)<=10000){
- var startDate = new Date(beginDate.substr(0,4),beginDate.substr(4,2)-1,beginDate.substr(6,2));//月份是从0开始算的
- var startDateUTC = Date.UTC(startDate.getFullYear(),startDate.getMonth(),startDate.getDate());
- var end = new Date(endDate.substr(0,4),endDate.substr(4,2)-1,endDate.substr(6,2));
- var endDateUTC = Date.UTC(end.getFullYear(),end.getMonth(),end.getDate()); var workmonthnum = 0;
- for (var i=startDateUTC;i<=endDateUTC ; i=i+86400000 ){
- var days = new Date(i);
- if (days.getDate()==1){
- workmonthnum++;
- }
- }
- if(beginDate.substr(6,2)=='01'&&endDate.substr(6,2)=='01'){
- workmonthnum = workmonthnum -1;
- }
- if(beginDate.substr(0,4)==endDate.substr(0,4)&&beginDate.substr(4,2)==endDate.substr(4,2)){
- workmonthnum = 1;
- }
- document.getElementById("crlimit:rateValidity").value = workmonthnum;
- }
- }
复制代码 分享到: .下拉列表的联动 |
|