日期格式功能,显示日期为" 2014年1月13日"

时间:2014-01-22 10:03:24

标签: vbscript datetime-format

是否有任何函数以VBScript中的mmm-dd-yyyy格式显示日期? 例如。今天的日期为Jan 22 2014

我尝试使用功能

FormatDateTime(Now(), 2)

我得到了16 January 2014

是否有任何函数/格式可以将其作为Jan 16 2014

3 个答案:

答案 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