JavaScript 模仿vbs中的 DateAdd() 函数的代码
JavaScript 模仿vbs中的 DateAdd() 函数的代码
发布时间:2016-12-30 来源:查字典编辑
摘要:项目中需要用到日历,.net的日历控件又太重,只好用js写一个,日历的核心函数是DateAdd(),编写过程中发现js里面操作时间比想象中的...

项目中需要用到日历,.net的日历控件又太重,只好用js写一个,日历的核心函数是DateAdd(),编写过程中发现js里面操作时间比想象中的繁琐,不像vbscript中的可以轻松地dateadd,后来才想到用setFullYear()、setDate()等内置函数,可以拼合一个js版的dateadd()来,代码如下:

复制代码 代码如下:

functionDateAdd(interval,number,date){//date可以是时间对象也可以是字符串,如果是后者,形式必须为:yyyy-mm-ddhh:mm:ss其中分隔符不定。"2006年12月29日16点01分23秒"也是合法的

number=parseInt(number);

if(typeof(date)=="string"){

date=date.split(/D/);

--date[1];

eval("vardate=newDate("+date.join(",")+")");

}

if(typeof(date)=="object"){

vardate=date

}

switch(interval){

case"y":date.setFullYear(date.getFullYear()+number);break;

case"m":date.setMonth(date.getMonth()+number);break;

case"d":date.setDate(date.getDate()+number);break;

case"w":date.setDate(date.getDate()+7*number);break;

case"h":date.setHours(date.getHour()+number);break;

case"n":date.setMinutes(date.getMinutes()+number);break;

case"s":date.setSeconds(date.getSeconds()+number);break;

case"l":date.setMilliseconds(date.getMilliseconds()+number);break;

}

returndate;

}

这个函数已经尽量模仿vbscript中的dateadd函数,三个参数,第一个是变化的时间间隔,可以是年、月、日、周、时、分、秒、毫秒(扩展),第三个参数可以是时间对象,也可以是字符串(形式必须为:2006-12-2914:32:57或2006年12月29日14点32分57秒),函数的返回值是新的时间对象。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类