1. ホーム
  2. Web プログラミング
  3. ASP プログラミング
  4. アプリケーションのヒント

ASPでは、.NETのStringオブジェクトと同様に、文字部分に対してPadLeftとPadRightの関数が実装されています。

2022-01-18 10:21:11

フォーラムで、日付をどのようにフォーマットしたらよいかという質問がありました。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(分(今),2,"0") & ":" PadLeft(分(今),2,"0") & " amp;PadLeft(Second(now),2,"0")

世界時補完コード

Public Function ForMatDate(DateAndTime, Para) 'Format the date (date time, format) 
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 & "year" & M & "month" & D & "day" 
  Case "5" 
    ForMatDate = M & "-" & D & " " " & H & ":" & F 
  Case "6" 
    ForMatDate = M & "/" & D 
  Case "7" 
    ForMatDate = M & "month" & D & "day" 
  Case "8" 
    ForMatDate = Y & "year" & M & "month" 
  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")

を自動的に補完する機能を追加する。

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)

ゲトナム数
getbit 合計で何ビットか

ASPのPadLeft関数とPadRight関数で、.NETのStringオブジェクトと同様の文字部分を実装する方法は、この記事で紹介しています。