我想在Asp中用vbscript實(shí)現(xiàn)日期格式中的月份和日期為兩位數(shù)字,怎么實(shí)現(xiàn)呢?
今天改一個(gè)生成id的函數(shù),要求以yyyymmdd的形式產(chǎn)生id,但是vbscript中產(chǎn)生的日期格式可能會(huì)成為yyyymd的形式,也就是去掉了高位上的0,查找了vbscript的日期和時(shí)間函數(shù),沒找到合適的函數(shù)。
以前曾經(jīng)做過類似的東西,大概是判斷數(shù)字是否小于10,然后追加前導(dǎo)0。(剛看了點(diǎn)算法的東西,順便用一下,咱也來寫個(gè)偽代碼:P)
//date()為獲得當(dāng)前日期的函數(shù),默認(rèn)格式y(tǒng)yyy-mm-dd mm和dd可能只有個(gè)位數(shù)字
//year(),month(),day()是從日期中抽取相應(yīng)的數(shù)字
//strID就是要得到的結(jié)果了
strID=year(date())&formatStr(month(date()))&formatStr(day(date()))
formatStr(m)
//m為要格式化的數(shù)字
if cInt(m)<10
m=0&cInt(m)
return m
這樣實(shí)現(xiàn)很直接,下面有更直接的,直接提取十位數(shù)字跟個(gè)位數(shù)字,然后拼起來就行了。
偽代碼:
formatChar(m)
m=fix(m/10)&(m-fix(m/10)*10)
return m
其實(shí)差不多,只是下面這個(gè)可以不用寫函數(shù),直接寫在一行里面就行了。
strid=year(date())&fix(month(date())/10)&(month(date())-fix(month(date())/10)*10)&fix(day(date())/10)&(day(date())-fix(day(date())/10)*10)
---------------
以上這個(gè)太煩了,僅做為參考。
個(gè)人認(rèn)為還是下面這個(gè)好用,簡單易用:
today=Year(Date()) & “-” & Right(“0” & Month(Date()),2) & “-” & Right(“0” & Day(Date()),2)
---------------
記住了:
Right(“0” & Month(Date()),2)
將簡單方便進(jìn)行到底!