平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“ASP中实现方法字符部位类似.NET里String对象的PadLeft和……”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
论坛里又有人问起日期怎样格式化为:2004-08-09 05:02:20这样的格式:于是写了一个左(右)对齐的函数.这函数等价于.NET里String对象的PadLeft和PadRight函数
Function PadLeft(Value,Length,sChar)
Dim strText,I
strText = String(Length,sChar)
strText = strText & Value
LeftPad = Right(strText,Length)
End Function
改一下最下面则为这样:
Function PadRight(Value,Length,sChar)
Dim strText,I
strText = String(Length,sChar)
strText = Value & strText
LeftPad = Left(strText,Length)
End Function
采用例子:日期显示
AA = year(now) & "-" & PadLeft(month(now),2,"0") & "-" & PadLeft(Day(now),2,"0") & " " & PadLeft(Hour(now),2,"0") & ":" & PadLeft(Minute(now),2,"0") & ":" & PadLeft(Second(now),2,"0")
万能时间补位代码
Public Function ForMatDate(DateAndTime, Para) '格式化日期(日期时间,格式)
Dim Y, M, D, H, F, S
IF Not ISNumeric(Para) Or Not ISDate(DateAndTime) Then Exit Function
Y = CStr(Year(DateAndTime))
M = CStr(Month(DateAndTime)):IF Len(M) = 1 Then M = "0" & M
D = CStr(Day(DateAndTime)):IF Len(D) = 1 Then D = "0" & D
H = CStr(Hour(DateAndTime)):IF Len(H) = 1 Then H = "0" & H
F = CStr(Minute(DateAndTime)):IF Len(F) = 1 Then F = "0" & F
S = CStr(Second(DateAndTime)):IF Len(S) = 1 Then S = "0" & S
Select Case Para
Case "0"
ForMatDate = Y & "-" & M & "-" & D & " " & H & ":" & F & ":" & S
Case "1"
ForMatDate = Y & "-" & M & "-" & D & " " & H & ":" & F
Case "2"
ForMatDate = Y & "-" & M & "-" & D
Case "3"
ForMatDate = Y & "/" & M & "/" & D
Case "4"
ForMatDate = Y & "年" & M & "月" & D & "日"
Case "5"
ForMatDate = M & "-" & D & " " & H & ":" & F
Case "6"
ForMatDate = M & "/" & D
Case "7"
ForMatDate = M & "月" & D & "日"
Case "8"
ForMatDate = Y & "年" & M & "月"
Case "9"
ForMatDate = Y & "-" & M
Case "10"
ForMatDate = Y & "/" & M
Case "11"
ForMatDate = right(Y,2) & "-" &M & "-" & D & " " & H & ":" & F
Case "12"
ForMatDate = right(Y,2) & "-" &M & "-" & D
Case "13"
ForMatDate = M & "-" & D
Case Else
ForMatDate = DateAndTime
End Select
End Function
Response.Write ForMatDate(Now,"2")
asp一段自动补位的函数
function formatsn(getnum,getbit)
dim formatsnnum,formatsnpre,formatsnj
formatsnnum = getbit – len(getnum)
for formatsnj = 1 to formatsnnum
formatsnpre = formatsnpre & "0"
next
formatsn = formatsnpre & getnum
end function
采用方法
formatsn(getnum,getbit)
getnum 计数
getbit 共几位
到此这篇关于ASP中实现字符部位类似.NET里String对象的PadLeft和PadRight函数的文章就介绍到这了,更多相关asp PadLeft和PadRight内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多兼容脚本之家!

