Datetime VBScript ISO8601
在VBScript中,Datetime VBScript ISO8601,datetime,vbscript,asp-classic,iso8601,Datetime,Vbscript,Asp Classic,Iso8601,在VBScript中,FormatDateTime是否支持ISO 8601 如果没有,我将如何用它编写这样的函数 例如: Response.Write FormatAsISO8601(#05/04/2011#) Function FormatAsISO8601(datetime) ... End Function 据我所知,在没有加载COM组件的情况下是不行的 以下是我从Chris的类中需要的具体代码,优化了一点: Public Function ToIsoDateTime(date
FormatDateTime
是否支持ISO 8601
如果没有,我将如何用它编写这样的函数
例如:
Response.Write FormatAsISO8601(#05/04/2011#)
Function FormatAsISO8601(datetime)
...
End Function
据我所知,在没有加载COM组件的情况下是不行的
以下是我从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
公共函数toSoDateTime(datetime)
ToIsoDateTime=ToIsoDate(日期时间)和“T”以及ToIsoTime(日期时间)和CurrentTimezone
端函数
公共函数ToIsoDate(日期时间)
ToIsoDate=CStr(年(日期时间))&“-”和StrN2(月(日期时间))&“-”和StrN2(日(日期时间))
端函数
公共函数ToIsoTime(datetime)
ToIsoTime=StrN2(小时(日期时间))&“&StrN2(分钟(日期时间))&:”&StrN2(秒(日期时间))
端函数
专用函数StrN2(n)
如果Len(CStr(n))<2,则StrN2=“0”&n否则StrN2=n
端函数
这里有一个蛮力函数:
sDate = iso8601Date(Now)
msgbox sDate
Function iso8601Date(dt)
s = datepart("yyyy",dt)
s = s & RIGHT("0" & datepart("m",dt),2)
s = s & RIGHT("0" & datepart("d",dt),2)
s = s & "T"
s = s & RIGHT("0" & datepart("h",dt),2)
s = s & RIGHT("0" & datepart("n",dt),2)
s = s & RIGHT("0" & datepart("s",dt),2)
iso8601Date = s
End Function
一些更正
Function iso8601Date(dt)
s = datepart("yyyy",dt)
s = s & "-" & RIGHT("0" & datepart("m",dt),2)
s = s & "-" & RIGHT("0" & datepart("d",dt),2)
s = s & "T"
s = s & RIGHT("0" & datepart("h",dt),2)
s = s & ":" & RIGHT("0" & datepart("n",dt),2)
s = s & ":" & RIGHT("0" & datepart("s",dt),2)
iso8601Date = s
End Function
链接不再是实际的。