我想以自定义格式显示日期。例如,日期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))
答案 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)显示时间。