短日期到长日期

时间:2015-08-18 07:18:36

标签: date vbscript wsh

我想以自定义格式显示日期。例如,日期18-8-2015应显示为"18-August-2015"。我试了好几次,但它只显示了月份本身。

givenDate= "14-August-15"
'DD = Day (givenDate)
MsgBox DD
MM = Month (givenDate)
'MsgBox MM
YY = Year (givenDate)
'MsgBox YY 
SysDate = DD&"/"&MM&"/"&YY

Wscript.Echo MonthName(Date("18-8-2015"))

'MsgBox(FormatDateTime(SysDate,1))

2 个答案:

答案 0 :(得分:1)

您可以提取各个日期组件并自行重新组装,或者更好的是,您可以利用.NET库,如下所示:

Dim dt
dt = #2015/8/14#    ' Date literal for August 14, 2015

With CreateObject("System.Text.StringBuilder")
    WScript.Echo .AppendFormat("{0:dd-MMMM-yyyy}", dt).ToString()
End With

输出:

14-August-2015

有关日期格式说明符的列表,请参阅here

答案 1 :(得分:0)

MsgBox Now       & vbCR & FormatDateTime( Now,       vbLongDate)  'general usage: today
MsgBox givenDate & vbCR & FormatDateTime( givenDate, vbLongDate)  ' your case

阅读FormatDateTime Function:返回格式化为日期或时间的表达式。

语法:FormatDateTime(Date[, NamedFormat])

参数:

  • Date必填。要格式化的日期表达式。
  • NamedFormat可选。数字值,指示使用的日期/时间格式。如果省略,则使用vbGeneralDate

NamedFormat参数具有以下设置:

  • Constant Value :说明
  • vbGeneralDate 0 :显示日期和/或时间。如果有日期部分,请将其显示为短日期。如果有时间部分,请长时间显示。如果存在,则显示两个部分。
  • vbLongDate 1 :使用计算机区域设置中指定的长日期格式显示日期。
  • vbShortDate 2 :使用计算机区域设置中指定的短日期格式显示日期。
  • vbLongTime 3 :使用计算机区域设置中指定的时间格式显示时间。
  • vbShortTime 4 :使用24小时格式(hh:mm)显示时间。