知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
按鍵精靈-自定義函數(shù)time(),datetime(),diff()
發(fā)表時間:2019-9-24
發(fā)布人:葵宇科技
瀏覽次數(shù):120
函數(shù)1:diff(參數(shù)1,參數(shù)2,參數(shù)3)
參數(shù)1:時間間隔。(d天數(shù)/h小時/m分/s秒)
參數(shù)2:開始時間。
參數(shù)3:結(jié)束時間。
返回:數(shù)量。
函數(shù)2:dtime(參數(shù))
參數(shù):固定格式日期時間
返回:1970/1/1/0/0/0到指定日期時間所用秒數(shù)
函數(shù)3:add(參數(shù)1,參數(shù)2,參數(shù)3)
參數(shù)1:時間間隔。
參數(shù)2:時間數(shù)量(年、月不支持負數(shù))。
參數(shù)3:開始時間。
返回:添加指定數(shù)量時間間隔的時間
函數(shù)4:ddate(參數(shù))
參數(shù):秒數(shù)
返回:固定格式日期時間。
下面是源碼:
'添加指定時間日期
function add(jg,sl,datetime)
dim d,y,n,c,rq
rq=split(datetime,"/")
select case lcase(jg)
case "s"
d=sl
case "m"
d=sl*60
case "h"
d=sl*60*60
case "d"
d=sl*60*60*24
case "n"
y=int(rq(0)):n=int(rq(1)):d=0
While sl>12
if n<=2
if (y/4=int(y/4) and y/100<>int(y/100)) or (y/400=int(y/400) and y/100=int(y/100))
d=d+366*24*60*60
else
d=d+365*24*60*60
end if
elseif n>2
if ((y+1)/4=int((y+1)/4) and (y+1) /100<>int( (y+1) /100)) or ( (y+1) /400=int( (y+1) /400) and (y+1) /100=int( (y+1) /100))
d=d+366*24*60*60
else
d=d+365*24*60*60
end if
end if
sl=sl-12
y=y+1
Wend
for i=1 to sl+1
if n=1 or n=3 or n=5 or n=7 or n=8 or n=10 or n=12
c=31
elseif n=4 or n=6 or n=9 or n=11
c=30
elseif n=2
if (y/4=int(y/4) and y/100<>int(y/100) ) or (y/400=int(y/400) and y/100=int(y/100) )
c=29
else
c=28
end if
end if
if i<=sl
d=d+c*24*60*60
end if
if n=12
n=1
y=y+1
else
n=n+1
end if
next
if int(rq(2))>c
d=d-(int(rq(2))-c)*24*60*60
end if
case "y"
y=int(rq(0)):n=int(rq(1)):d=0
for sl
if n<=2
if (y/4=int(y/4) and y/100<>int(y/100)) or (y/400=int(y/400) and y/100=int(y/100))
d=d+366*24*60*60
else
d=d+365*24*60*60
end if
elseif n>2
if ((y+1)/4=int((y+1)/4) and (y+1)/100<>int((y+1)/100)) or ((1+y)/400=int((y+1)/400) and (1+y)/100=int((y+1)/100))
d=d+366*24*60*60
else
d=d+365*24*60*60
end if
end if
y=y+1
next
end select
add= ddate(int(dtime(datetime))+d)
end function
'兩個時間差距
function diff(jg,dtime1,dtime2)
select case lcase(jg)
case "s"
diff=dtime(dtime2)-dtime(dtime1)
case "m"
diff=(dtime(dtime2)-dtime(dtime1))/60
case "h"
diff=(dtime(dtime2)-dtime(dtime1))/60/60
case "d"
diff=(dtime(dtime2)-dtime(dtime1))/60/60/24
end select
end function
'時間轉(zhuǎn)換秒數(shù)
function dtime(datetime)
dim c,d
datetime=split(datetime,"/")
for i=0 to datetime(0)-1970-1
if ((1970+i)/4=int((1970+i)/4) and (1970+i)/100<>int((1970+i)/100)) or ((1970+i)/100=int((1970+i)/100) and (1970+i)/400=int((1970+i)/400) )
c=c+1
end if
next
d=(datetime(0)-1970)*365*24*60*60+c*24*60*60+datetime(3)*60*60+datetime(4)*60+datetime(5)
While int(datetime(1))>1
datetime(1)= datetime(1)-1
if datetime(1)=1 or datetime(1)=3 or datetime(1)=5 or datetime(1)=7 or datetime(1)=8 or datetime(1)=10 or datetime(1)=12
c=31
elseif datetime(1)=4 or datetime(1)=6 or datetime(1)=9 or datetime(1)=11
c=30
elseif datetime(1)=2 and (datetime(0)/4=int(datetime(0)/4) and datetime(0)/100<>int(datetime(0)/100)) or ( datetime(0)/400=int(datetime(0)/400) and datetime(0)/100=int(datetime(0)/100) )
c=29
else
c=28
end if
datetime(2)=datetime(2)+c
Wend
datetime(2)= datetime(2)-1
dtime=d+datetime(2)*24*60*60-8*60*60
end function
'秒轉(zhuǎn)換日期時間
function ddate(time)
dim y,d,h,m,s,c,n
c=0
time=int(time)+8*60*60
y=int(time/(365*24*60*60))
for i=0 to int(y)-1
if ((1970+i)/4=int((1970+i)/4) and (1970+i)/100<>int((1970+i)/100)) or ((1970+i)/100=int((1970+i)/100) and (1970+i)/400=int((1970+i)/400) )
c=c+1
end if
next
y=y-int(c/365):c=0
for i=0 to int(y)-1
if ((1970+i)/4=int((1970+i)/4) and (1970+i)/100<>int((1970+i)/100)) or ((1970+i)/100=int((1970+i)/100) and (1970+i)/400=int((1970+i)/400) )
c=c+1
end if
next
c= 60*60*24*c
d=int((time-c-60*60*24*365*int(y))/60/60/24)
h=int((time-c-60*60*24*365*int(y)-int(d)*24*60*60)/60/60)
m=int((time-c-60*60*24*365*int(y)-int(d)*24*60*60-int(h)*60*60)/60)
s=(time-c-60*60*24*365*int(y)-int(d)*24*60*60-int(h)*60*60-int(m)*60)
c=31:n=1
While d>=c
d=d-c
n=n+1
if n=1 or n=3 or n=5 or n=7 or n=8 or n=10 or n=12
c=31
elseif n=4 or n=6 or n=9 or n=11
c=30
elseif n=2 and ((1970+y)/4=int((1970+y)/4) and (1970+y)/100<>int((1970+y)/100)) or ((1970+y)/100=int((1970+y)/100) and (1970+y)/400=int((1970+y)/400) )
c=29
else
c=28
end if
Wend
d=d+1
n=String(2-len(n),"0")&n
d= String(2-len(d),"0")&d
h= String(2-len(h),"0")&h
m= String(2-len(m),"0")&m
s= String(2-len(s),"0")&s
ddate= int(y+1970)&"/"&n&"/"&d&"/"&h&"/"&m&"/"&s
end function
相關(guān)案例查看更多
相關(guān)閱讀
- 云南網(wǎng)站建設(shè)一條龍
- 云南小程序開發(fā)首選品牌
- 昆明小程序開發(fā)聯(lián)系方式
- 云南網(wǎng)站建設(shè)特性
- 云南科技公司
- 開通微信小程序被騙
- 云南網(wǎng)絡(luò)營銷
- 云南網(wǎng)站建設(shè)價格
- 高端網(wǎng)站建設(shè)公司
- 小程序技術(shù)
- 重慶網(wǎng)站建設(shè)公司
- 云南小程序開發(fā)公司哪家好
- 網(wǎng)站建設(shè)價格
- 網(wǎng)站建設(shè)專業(yè)品牌
- 汽車報廢回收
- 云南建設(shè)廳官方網(wǎng)站
- 云南網(wǎng)站建設(shè)公司排名
- 政府網(wǎng)站建設(shè)服務(wù)
- 汽車報廢回收管理軟件
- 云南網(wǎng)絡(luò)營銷顧問
- 云南網(wǎng)站建設(shè)服務(wù)
- 網(wǎng)絡(luò)公司排名
- 小程序開發(fā)平臺前十名
- 網(wǎng)站建設(shè)首頁
- 江蘇小程序開發(fā)
- 網(wǎng)站建設(shè)招商
- 云南網(wǎng)站建設(shè)案例
- uniapp開發(fā)小程序
- 網(wǎng)站建設(shè)公司地址
- 云南網(wǎng)站建設(shè)首選公司