JavaScript 模仿vbs中的 DateAdd() 函数的代码

2016-02-19 09:19 7 1 收藏

下面图老师小编要向大家介绍下JavaScript 模仿vbs中的 DateAdd() 函数的代码,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - Web开发 】

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

代码如下:

function DateAdd(interval,number,date){ // date 可以是时间对象也可以是字符串,如果是后者,形式必须为: yyyy-mm-dd hh:mm:ss 其中分隔符不定。"2006年12月29日 16点01分23秒" 也是合法的 
number = parseInt(number); 
if (typeof(date)=="string"){ 
date = date.split(/D/); 
--date[1]; 
eval("var date = new Date("+date.join(",")+")"); 

if (typeof(date)=="object"){ 
var date = 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; 
}  
return date; 



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

来源:http://www.tulaoshi.com/n/20160219/1590352.html

延伸阅读
标签: Web开发
JavaScript中splice函数方法是从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。 arrayObj.splice( start, deleteCount, [item1[, item2[, . . . [,itemN]]]]) 其中arrayObj必选项。一个 Array 对象。 start是必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开...
标签: Web开发
在写一个项目中自己定义了一个javascript函数 close(div),在使用中将这个close()函数放在链接a中使用,没有出现一点的问题。后来在一个input button中设置onclick事件,调用这个函数,发现这个函数居然不执行,后来寻寻觅觅中,终于发现了原因的所在,原来close函数是window对象的一个方法,在普通的调用中另外自定义的函数是没有任何问...
标签: Web开发
JavaScript中indexOf函数方法是返回 String 对象内第一次出现子字符串的字符位置。使用方法: strObj.indexOf(subString[, startIndex]) 其中strObj是必选项。String 对象或文字。 subString是必选项。要在 String 对象中查找的子字符串。 starIndex是可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找...
标签: Web开发
作者:F. Permadi 译者:Sheneyan(子乌) 英文原文: INTRODUCTION TO JavaScript Functions 中文译文(包括示例):javascript的函数 子乌注:一篇相当不错的function入门文章,个人感觉相当经典。 词语翻译列表: function:函数(Function未翻译) declare:定义 assign:指派,分配 functionbody:函数体(就是函数的内容) object:对象 prop...
标签: Web开发
JavaScript中splice函数方法是从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。 其中arrayObj必选项。一个 Array 对象。 start是必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。 deleteCount是必选项。要移除的元素的个数。 item1, item...

经验教程

455

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部