VBScript ISO8601

Alo*_*kin 6 vbscript datetime iso8601 asp-classic

在VBScript中,是否FormatDateTime有ISO 8601支持?

如果没有,我将如何编写这样的功能呢?

例如:

Response.Write FormatAsISO8601(#05/04/2011#)

Function FormatAsISO8601(datetime)
    ...
End Function
Run Code Online (Sandbox Code Playgroud)

Alo*_*kin 10

以下是Chris课程中我需要的具体代码,稍微优化一下:

Public Function ToIsoDateTime(datetime) 
    ToIsoDateTime = ToIsoDate(datetime) & "T" & ToIsoTime(datetime) & CurrentTimezone
End Function

Public Function ToIsoDate(datetime)
    ToIsoDate = CStr(Year(datetime)) & "-" & StrN2(Month(datetime)) & "-" & StrN2(Day(datetime))
End Function    

Public Function ToIsoTime(datetime) 
    ToIsoTime = StrN2(Hour(datetime)) & ":" & StrN2(Minute(datetime)) & ":" & StrN2(Second(datetime))
End Function

Private Function StrN2(n)
    If Len(CStr(n)) < 2 Then StrN2 = "0" & n Else StrN2 = n
End Function
Run Code Online (Sandbox Code Playgroud)