注册 登录
编程论坛 ASP技术论坛

请教:关于用Now()函数生成的订单编号少位数的问题?

atian 发布于 2011-02-19 09:20, 1188 次点击
bh=replace(replace(replace(replace(replace(replace(FormatDateTime(now(),0),":","")," ",""),"-",""),"/",""),"上午",""),"下午","")

在ASP中,用NOW()生成了一串数字,比如时间:2011年2月9日8点8分8秒

我想要的结果是20110209080808

但实际生成的结果是201129888,即月份、日期和时间都要是二位数的,但少于二位的月份和时间却只生成了一位数。

请大家帮我编写一个这样的函数解决我这个问题。


6 回复
#2
gupiao1752011-02-19 10:33
程序代码:
<%
Dim str '组合的字符串
Dim y,m,d,h,mi,s '定义年月日,时分秒
y=Year(Now())
m
=Month(Now())
If(m<10) Then m=0&m
d
=Day(Now())
If(d<10) Then d=0&d
h
=Hour(Now())
If(h<10) Then h=0&h
mi
=Minute(Now())
If(mi<10) Then mi=0&mi
s
=Second(Now())
If(s<10) Then s=0&s
str
=y&m&d&h&mi&s
response.write str
%>
用了最土的方法,保证能让数字不小心14位,不够二位的补0!
#3
hams2011-02-19 12:00
str=Year(Now())&Righ("00"&Month(Now()),2)&Righ("00"&Day(Now()),2)&Righ("00"&Hour(Now()),2)&Righ("00"&Minute(Now()),2)&Righ("00"&Second(Now()),2)



#4
atian2011-02-19 13:00
谢谢你们,马上试试这几种方法。
#5
gupiao1752011-02-19 13:26
以下是引用hams在2011-2-19 12:00:44的发言:

str=Year(Now())&Righ("00"&Month(Now()),2)&Righ("00"&Day(Now()),2)&Righ("00"&Hour(Now()),2)&Righ("00"&Minute(Now()),2)&Righ("00"&Second(Now()),2)
   用这个好,比我的更简单直观!直接取值。
#6
suyongtao2011-02-19 15:03
这个好。。我喜欢,呵呵。。。
#7
zznice2011-02-19 22:36
学习了。。。
1