格式化日期为mm / dd / yy

时间:2015-08-28 13:21:40

标签: vbscript formatdatetime

我是VBScript的新手。我想将我的日期格式从mm / dd / yyyy格式化为mm / dd / yy。 我使用了FormatDateTime(Date(),2),但它对我不起作用。 例如:

如果日期是2015年7月1日,则上述功能输出7/1/2015,但我希望它是07/01/15。

任何想法如何做到这一点?我研究了很多,但我无法理解。

2 个答案:

答案 0 :(得分:1)

基于this answer(关注'链接'链接背景):

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:MM\/dd\/yy}", #7/1/2015#)

输出:

cscript 32272088.vbs
Today: 07/01/15

答案 1 :(得分:1)

您可以编写自己的函数,以按照您想要的方式格式化日期。

Function MyDateFormat(TheDate)
    dim m, d, y
    If Not IsDate(TheDate) Then
        MyDateFormat = TheDate '- if input isn't a date, don't do anything
    Else
        m = Right(100 + Month(TheDate),2) '- pad month with a zero if needed
        d = Right(100 + Day(TheDate),2) '- ditto for the day
        y = Right(Year(TheDate),2)
        MyDateFormat = m & "/" & d & "/" & y
    End If
End Function

请注意,上面的输出是字符串,而不是日期,但FormatDateTime也是如此。