如何从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)
这将返回下午2:10:12,但不应显示秒。
date = CDate("06/25/19 02:10:12 PM")
FormatDateTime(date, vbShortTime)
这将返回14:10,但这是在军事时间。
我已经看到C#和VB.NET中的函数将直接以hh:mm am / pm返回时间,但是无法找到将在VBScript中实现的函数的文档。
答案 0 :(得分:0)
您可以通过使用内置的时间函数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
提供的代码未经测试,现在就在我的iPad上编写了,因此无法对其进行测试。