下面是VBScript的代码,
FromDate=22/2/2013
ToDate= 1/3/2013
StartDateSerial = DateSerial(year(FromDate),month(FromDate), day(FromDate))
ToDateSerial = DateSerial(year(ToDate),month(toDate),day(ToDate))
此日期格式为 dd/mm/yyyy。但 DateSerial 的结果如下
StartDateSerial= 2/22/2013
ToDateSerieal= 1/3/2013
这意味着对于开始日期,它转换为mm/dd/yyyy,但对于ToDateSerieal,它转换为dd/mm/yyyy
我在US lacal上发现了这个问题。但在英国本地,两者都是一样的。
现在,当我在 FromDate 和 To Date 中使用以下值尝试此操作时
FromDate=2/22/2013
ToDate= 3/1/2013
我将 FromDate 和 ToDate 从 JavaScript 传递到 vbscript。
格式为 mm/dd/yyyy,那么它在美国 lacal 上工作正常,但在英国本地则不行。谁能告诉我如何解决这个问题。
最佳答案
我假设,您将 d/m/y 字符串从 Javascript 传递到使用美国语言环境运行的 VBScript,该语言环境需要 m/d/y 日期字符串。如果出现错误的日期字符串,VBScript 会尝试做正确的事情并将“22/2/2013”转换为二月日期; “1/3/2013”被视为有效的一月日期。英国语言环境理解 d/m/y 字符串,“1/3/2013”是三月日期。
要解决您的问题 - 所有区域设置的 d/m/y 日期字符串输入 - 在字符串和 上使用
.a = Split("d/m/y", "/")
>DateSerial(a[2], a[1], a[0])
关于javascript - 如何在不同的地方使用vbscript的月份函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15155943/