是否有任何函数以VBScript中的mmm-dd-yyyy
格式显示日期?
例如。今天的日期为Jan 22 2014
?
我尝试使用功能
FormatDateTime(Now(), 2)
我得到了16 January 2014
。
是否有任何函数/格式可以将其作为Jan 16 2014
?
答案 0 :(得分:2)
通过使用.NET Stringbuilder - 对于所有您的格式化需求 - 您可以获得最大的收益:
Option Explicit
Class cFormat
Private m_oSB
Private Sub Class_Initialize()
Set m_oSB = CreateObject("System.Text.StringBuilder")
End Sub ' Class_Initialize
Public Function formatOne(sFmt, vElm)
m_oSB.AppendFormat sFmt, vElm
formatOne = m_oSB.ToString()
m_oSB.Length = 0
End Function ' formatOne
Public Function formatArray(sFmt, aElms)
m_oSB.AppendFormat_4 sFmt, (aElms)
formatArray = m_oSB.ToString()
m_oSB.Length = 0
End Function ' formatArray
End Class ' cFormat
Dim oFmt : Set oFmt = New cFormat
WScript.Echo oFmt.FormatOne("Today: {0:MMM dd yyyy}", Date())
WScript.Echo oFmt.FormatOne("Today: {0:yyyy-MM-dd [MMMM]}", Date())
输出:
cscript 21279700.vbs
Today: Jan 22 2014
Today: 2014-01-22 [Januar]
查看here了解背景信息。
答案 1 :(得分:0)
FormatDate
根据系统区域设置中配置的格式格式化日期。如果你想使用VBScript内置的自定义日期格式,你可以这样做:
WScript.Echo MonthName(Month(Now), True) & " " & Day(Now) & " " & Year(Now)
答案 2 :(得分:-1)
下面的函数将帮助返回“dd-mmm-yyyy hh:mm:ss”格式。 您可以根据需要自定义格式。
Function timeStampForLogging(t)
Dim Months
Months = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", _
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
timeStampForLogging = Right("0" & Day(t),2)& "-" & _
Months(Month(t)-1) & "-" & _
Year(t) & " " & _
Right("0" & Hour(t),2) & ":" & _
Right("0" & Minute(t),2) & ":" & _
Right("0" & Second(t),2)
End Function