网络编程 
首页 > 网络编程 > 浏览文章

ASP中实现字符部位类似.NET里String对象的PadLeft和PadRight函数

(编辑:jimmy 日期: 2024/11/14 浏览:3 次 )

论坛里又有人问起日期怎样格式化为: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中格式化时间短日期补0变两位长日期的方法
下一篇:asp中response.write('中文')或者js中文乱码问题
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。