js对日期进行相加

原创 2013年12月05日 17:55:24

        今天,做一个小功能,确定一个实际验收日期(date),然后再确定一个免费维护期(年),然后用来计算免费维护截止日期,开始免费维护其要求是正数,想想,挺简单,先将日期用split截取,然后加到年份上,再拼接

var dateArr=date.split("-");
var year=parseInt(dateArr[0])+y;
var finalDate=year+"-"+dateArr[1]+"-"+dateArr[2];

        接着,过了一会,告诉我这个免费维护其得支持两位小数,还想用拼接试一下,整数部分加到年份上,小数部分乘12加到月份上,剩下乘以30(每月按30天算)加到天上,接着一想就傻眼了,这样还得判断日期是不是超过当月最大天数,月份是不是超过12...各种判断,只能看看JS中Date对象的一些函数,看有没有类似功能的,什么都没找到,不过看到getTime()函数的时候,到想到个办法,就是把日期和年份值都转换成毫秒,想加之后再转换成日期

顺便扩展了一下,可以支持月份和天数

function dateAdd(y,type,date){
	var second=0;
	if(typeof(date)=="string"){
		var date=new Date(Date.parse(date));
		second=date.getTime();
	}
	else if(typeof(date)=="object")
		second=date.getTime();
	var ySecond=0;
	if(type=="y")
		ySecond=parseFloat(y)*365*24*3600*1000;
	else if(type=="m")
		ySecond=parseFloat(y)*30*24*3600*1000;
	else
		ySecond=parseFloat(y)*24*3600*1000;
	second+=ySecond;
	var finalDate=new Date(second);
	return finalDate.toLocaleDateString();
}


相关文章推荐

js中对象定义状态、js判断为空的方法、js数字相加减以及日期处理

js中undefined,null,NaN的区别 1.类型分析: js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种...
  • M87138
  • M87138
  • 2014年07月25日 18:04
  • 841

js日期时间函数 js日期相加减的例子

// 增加天 function AddDays(date,value) { date.setDate(date.getDate()+value); } // 增加月 function Add...

JS获得日历控件的值并进行日期的比较

JS获得日历控件的值并进行日期的比较;前端日历控件获值;前端日历控件值的大小比较;前端JS判断日历大小;...

js格式化日期字符串进行时间比较

js中比较后台获得的日期字符串

使用js进行时间戳与日期的相互转化

场景描述:在开发salesforce站点时,为了让用户在竞价时限之后填写竞价金额,需要向用户提示下次修改竞价金额时间,这时为了保证alert的提示时间格式与site的DateTime类型时间格式一致,...

对表格按日期或数字或字母进行排序的js

var syj={};//定义空对象,此对象用于模拟命名空间,相当于模拟java中的包路径          syj.TableSorter=function(tb,iStart,iEnd){//...

java处理日期时间 相加减

JAVA处理日期时间常用方法:  1.java.util.Calendar  Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR...

java处理日期时间 相加减

JAVA处理日期时间常用方法:  1.java.util.Calendar  Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js对日期进行相加
举报原因:
原因补充:

(最多只允许输入30个字)