在VBScript中,我需要使用日期初始化变量。在我的国家,我们通常使用以下格式指定日期:日月年
以下是我在VBScript中尝试做的事情:
Date = #07-06-1973#
MsgBox FormatDateTime(Date, vbLongDate)
但是我得到的日期是7月6日,我期待6月7日!
现在,因为看起来第一个数字代表月份,这就是我尝试做的事情:
Date = #13-06-1973#
MsgBox FormatDateTime(Date, vbLongDate)
但现在,第一个数字代表了一天! (我得到以下日期:6月13日)
我还没有办法强制使用日期格式,因此不会有歧义。
答案 0 :(得分:5)
严格地说,VBScript仅支持美国和ISO格式的日期文字:
' US format:
Date = #10/19/2009#
' ISO format:
Date = #2009-10-19#
但是,日期分隔符可以不同(斜杠,短划线,空格等),VBScript引擎也会识别包含缩写月份名称(#Oct 19, 2009#
)的日期和包含交换日期部分的非模糊日期({{ 1}})。后者解释了为什么第二个例子中的#2009 19 10#
被识别为6月13日:数字13超出了可接受的月份范围(1-12),所以它被解释为日期部分。
如果要以区域格式指定日期(即区域和语言选项中指定的格式),可以使用CDate
函数转换日期字符串,例如:
#13-06-1973#
但使用美国和ISO日期文字更可靠,更受欢迎。