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