国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

JavaScript 模仿vbs中的 DateAdd() 函數(shù)的代碼

2024-09-06 12:41:47
字體:
供稿:網(wǎng)友
項(xiàng)目中需要用到日歷,.net的日歷控件又太重,只好用js寫一個(gè),日歷的核心函數(shù)是 DateAdd(),編寫過程中發(fā)現(xiàn) js 里面操作時(shí)間比想象中的繁瑣,不像vbscript中的可以輕松地dateadd,后來才想到用 setFullYear()、setDate()等內(nèi)置函數(shù),可以拼合一個(gè)js版的 dateadd() 來,代碼如下:

代碼如下:
function DateAdd(interval,number,date){ // date 可以是時(shí)間對(duì)象也可以是字符串,如果是后者,形式必須為: yyyy-mm-dd hh:mm:ss 其中分隔符不定。"2006年12月29日 16點(diǎn)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; 



這個(gè)函數(shù)已經(jīng)盡量模仿 vbscript 中的 dateadd 函數(shù),三個(gè)參數(shù),第一個(gè)是變化的時(shí)間間隔,可以是年、月、日、周、時(shí)、分、秒、毫秒(擴(kuò)展),第三個(gè)參數(shù)可以是時(shí)間對(duì)象,也可以是字符串(形式必須為:2006-12-29 14:32:57 或 2006年12月29日 14點(diǎn)32分57秒),函數(shù)的返回值是新的時(shí)間對(duì)象。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 武平县| 奇台县| 正蓝旗| 梅河口市| 上高县| 抚宁县| 改则县| 湘阴县| 莲花县| 湟中县| 泽州县| 克山县| 东乡县| 寻乌县| 招远市| 武夷山市| 清丰县| 贵南县| 九台市| 浑源县| 民乐县| 汉源县| 乐平市| 得荣县| 永兴县| 遵义县| 屏东市| 宁海县| 太康县| 盐山县| 浏阳市| 顺义区| 潢川县| 璧山县| 青神县| 安达市| 渝北区| 文安县| 江山市| 安陆市| 沅陵县|