我想在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)
将简单方便进行到底!