用于初始化的日期格式

时间:2009-10-19 07:08:18

标签: vbscript

在VBScript中,我需要使用日期初始化变量。在我的国家,我们通常使用以下格式指定日期:日月年

以下是我在VBScript中尝试做的事情:

Date = #07-06-1973#
MsgBox FormatDateTime(Date, vbLongDate)

但是我得到的日期是7月6日,我期待6月7日!

现在,因为看起来第一个数字代表月份,这就是我尝试做的事情:

Date = #13-06-1973#
MsgBox FormatDateTime(Date, vbLongDate)

但现在,第一个数字代表了一天! (我得到以下日期:6月13日)

我还没有办法强制使用日期格式,因此不会有歧义。

1 个答案:

答案 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日期文字更可靠,更受欢迎。