VBScript ISO8601

发布于 2024-11-27 10:58:29 字数 230 浏览 3 评论 0原文

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

如果没有,我该如何用它编写这样的函数?

例如:

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

Function FormatAsISO8601(datetime)
    ...
End Function

In VBScript, does FormatDateTime have ISO 8601 support?

If not, how would I write such function with it?

For example:

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

Function FormatAsISO8601(datetime)
    ...
End Function

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

我们只是彼此的过ke 2024-12-04 10:58:29

这是我需要从 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

Here is the specific code I needed from Chris' class, a bit more optimized:

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
孤星 2024-12-04 10:58:29

这是一个强力函数:

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

Here's a brute force function:

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
绅刃 2024-12-04 10:58:29

据我所知,不加载一些 COM 组件是不可能的。

这是某人编写的 VBScript 类。

Not without loading some COM component as far as I know.

Here's a VBScript class that someone wrote.

一笔一画续写前缘 2024-12-04 10:58:29

一些更正

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

Some corrections

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文