Формат даты в мм / дд / гг

Я новый т VBScript. Я хочу отформатировать дату от мм / дд / гггг до мм / дд / гг. Я использовал FormatDateTime(Date(),2), но он не работает для меня. Например:

если дата 1 июля 2015 г., вышеприведенная функция выводит 01.07.2015, но я хочу, чтобы она была 07.01.15.

Есть идеи, как это сделать? Я много исследовал, но я не мог понять это.

2 ответа

Основываясь на этом ответе (перейдите по ссылкам "Связанные" для справки):

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

Вы можете написать свою собственную функцию для форматирования даты именно так, как вы хотите.

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,

Другие вопросы по тегам