在VBS脚本中,我需要使用日期初始化变量.
在我的国家/地区,我们通常会使用以下格式指定日期:日月
这是我在VBS脚本中尝试做的事情:
Date = #07-06-1973#
MsgBox FormatDateTime(Date, vbLongDate)
Run Code Online (Sandbox Code Playgroud)
但是我得到的日期是7月6日,我期待6月7日!
现在,因为似乎第一个数字代表月份,这是我尝试做的:
Date = #13-06-1973#
MsgBox FormatDateTime(Date, vbLongDate)
Run Code Online (Sandbox Code Playgroud)
但现在,第一个数字代表了一天!(我得到以下日期:6月13日)
我没有找到强制日期格式的方法,因此没有更多的歧义.
严格来说,VBScript仅支持美国和ISO格式的日期文字:
' US format:
Date = #10/19/2009#
' ISO format:
Date = #2009-10-19#
Run Code Online (Sandbox Code Playgroud)
但是,日期分隔符可以是不同的(斜杠,短划线,空格等),并且VBScript引擎还可以识别包含缩写月份名称(#Oct 19, 2009#)的日期和具有交换日期部分(#2009 19 10#)的非模糊日期.后者解释了为什么#13-06-1973#在你的第二个例子中被认为是6月13日:数字13超出了可接受的月份范围(1-12),所以它被解释为日期部分.
如果要以区域格式指定日期(即区域和语言选项中指定的格式),可以使用该CDate函数转换日期字符串,例如:
' Russian format
Date = CDate("19.10.2009")
Run Code Online (Sandbox Code Playgroud)
但使用美国和ISO日期文字更可靠和首选.
| 归档时间: |
|
| 查看次数: |
3137 次 |
| 最近记录: |