从 VBScript 中的 FormatDateTime 中删除秒数
Removing Seconds From FormatDateTime in VBScript
如何从 vbscript 中的日期提取 hh:mm am/pm 中的时间?
例如,对于日期“06/25/19 02:10:12 PM”,我只想显示“2:10 PM”
date = CDate("06/25/19 02:10:12 PM")
FormatDateTime(date, vbLongTime)
这将 return 2:10:12 PM 但不应显示秒数。
date = CDate("06/25/19 02:10:12 PM")
FormatDateTime(date, vbShortTime)
这将 return 14:10 但这是军用时间。
我见过 C# 和 VB.NET 中的函数,它们将直接 return hh:mm am/pm 中的时间,但无法找到有关函数的文档所以在 VBScript 中。
您可以通过使用 built-in 时间函数 Hour()
和 Minute()
.
构建您自己的自定义格式化函数来实现此目的
Function FormatTime(dateIn, asTwelveHourFormat)
Dim result, h, m, t
If IsDate(dateIn) Then
If Len(asTwelveHourFormat & "") < 1 Then asTwelveHourFormat = False
h = Hour(dateIn)
m = Minute(dateIn)
t = ""
If asTwelveHourFormat Then
t = " "
If h >= 12 Then
t = t & "PM"
If h > 12 Then h = h Mod 12
Else
t = t & "AM"
End If
End If
h = Right("00" & h, 2)
m = Right("00" & m, 2)
result = h & ":" & m & t
Else
result = "NA"
End If
FormatTime = result
End Function
提供了代码 un-tested,现在刚写在我的 iPad 上,所以无法测试它。
有用的链接
- Format current date and time in VBScript
如何从 vbscript 中的日期提取 hh:mm am/pm 中的时间?
例如,对于日期“06/25/19 02:10:12 PM”,我只想显示“2:10 PM”
date = CDate("06/25/19 02:10:12 PM")
FormatDateTime(date, vbLongTime)
这将 return 2:10:12 PM 但不应显示秒数。
date = CDate("06/25/19 02:10:12 PM")
FormatDateTime(date, vbShortTime)
这将 return 14:10 但这是军用时间。
我见过 C# 和 VB.NET 中的函数,它们将直接 return hh:mm am/pm 中的时间,但无法找到有关函数的文档所以在 VBScript 中。
您可以通过使用 built-in 时间函数 Hour()
和 Minute()
.
Function FormatTime(dateIn, asTwelveHourFormat)
Dim result, h, m, t
If IsDate(dateIn) Then
If Len(asTwelveHourFormat & "") < 1 Then asTwelveHourFormat = False
h = Hour(dateIn)
m = Minute(dateIn)
t = ""
If asTwelveHourFormat Then
t = " "
If h >= 12 Then
t = t & "PM"
If h > 12 Then h = h Mod 12
Else
t = t & "AM"
End If
End If
h = Right("00" & h, 2)
m = Right("00" & m, 2)
result = h & ":" & m & t
Else
result = "NA"
End If
FormatTime = result
End Function
提供了代码 un-tested,现在刚写在我的 iPad 上,所以无法测试它。
有用的链接
- Format current date and time in VBScript