代码之家  ›  专栏  ›  技术社区  ›  Jérôme

vbscript:用于初始化的日期格式

  •  0
  • Jérôme  · 技术社区  · 15 年前

    在VBS脚本中,我需要用日期初始化一个变量。

    在我的国家,我们通常用这种格式指定日期:日-月-年

    下面是我在vbs脚本中要做的:

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

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

    现在,似乎第一个数字代表月份,下面是我要做的:

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

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

    我还没有找到强制使用日期格式的方法,这样就不会有更多的模糊性。

    1 回复  |  直到 15 年前
        1
  •  5
  •   Helen    15 年前

    严格来说,vbscript仅支持美国和ISO格式的日期文本:

    ' US format:
    Date = #10/19/2009#
    
    ' ISO format:
    Date = #2009-10-19#
    

    但是,日期分隔符可以是不同的(斜线、破折号、空格等),而且vbscript引擎还可以识别包含缩写月份名称的日期。( #Oct 19, 2009# )和交换日期部分的非模糊日期( #2009 19 10# )后者解释了为什么 #13-06-1973# 在您的第二个示例中,被认为是6月13日:数字13超出了可接受的月份范围(1-12),因此它被解释为日部分。

    如果要以区域格式(即区域和语言选项中指定的格式)指定日期,可以使用 CDate 用于转换日期字符串的函数,例如:

    ' Russian format
    Date = CDate("19.10.2009")
    

    但使用US和ISO日期文本更可靠,更受欢迎。