私は今、少し頭がおかしいです…</p>
ヨーロッパ形式の日付文字列dd.mm.yyyyがあり、従来の ASP でmm.dd.yyyyに変換する必要があります。簡単なアイデアはありますか?
私は今、少し頭がおかしいです…</p>
ヨーロッパ形式の日付文字列dd.mm.yyyyがあり、従来の ASP でmm.dd.yyyyに変換する必要があります。簡単なアイデアはありますか?
常にその形式の場合は、分割を使用できます
d = split(".","dd.mm.yyyy")
s = d(1) & "." & d(0) & "." & d(2)
これにより、1.2.99 などの日付も許可されます
Dim arrParts() As String
Dim theDate As Date
arrParts = Split(strOldFormat, ".")
theDate = DateTime.DateSerial(parts(2), parts(1), parts(0))
strNewFormat = Format(theDate, "mm.dd.yyyy")
これは、組み込みの日付のサニティ チェックを使用して行う方法です。
Dim OldString, NewString
OldString = "31.12.2008"
Dim myRegExp
Set myRegExp = New RegExp
myRegExp.Global = True
myRegExp.Pattern = "(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.]((19|20)[0-9]{2})"
If myRegExp.Test Then
NewString = myRegExp.Replace(OldString, "$2.$1.$3")
Else
' A date of for instance 32 December would end up here
NewString = "Invalid date"
End If
OK、私は自分で解決策を見つけました:
payment_date = MID(payment_date,4,3) & LEFT(payment_date,3) & MID(payment_date,7)
すべてのアプリで使用する独自の日付操作関数がありますが、もともとは次のサンプルに基づいていました。
function MyDateFormat(mydate)
'format: YYYYMMDDHHMMSS
MyDateFormat = year(mydate) & right("0" & month(mydate),2) & _
right("0" & day(mydate),2) & right("0" & hour(mydate),2) &_
right("0" & minute(mydate),2) & right("0" & second(mydate),2)
end function
response.write(MyDateFormat(Now))
show: 20200623102805