如何使用不同本地的vbscript的月份函数
How to work with month function of vbscript with different local
下面是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。但是dateseries的结果如下
StartDateSerial= 2/22/2013
ToDateSerieal= 1/3/2013
表示开始日期转换为mm/dd/yyyy但是ToDateSerieal转换为dd/mm/yyyy
我在US local 上发现了这个问题。但在UK local,这对两者都是相同的。
现在,当我尝试在FromDate和To Date
中使用以下值时FromDate=2/22/2013
ToDate= 3/1/2013
我正在传递FromDate和ToDate从JavaScript到vbscript。
格式是mm/dd/yyyy,那么它在美国本地工作得很好,但在英国本地不行。谁能告诉我怎样才能解决这个问题?
我假设,您将d/m/y字符串从Javascript传递到使用美国语言环境运行的VBScript,该语言环境期望m/d/y日期字符串。如果给出一个错误的日期字符串,VBScript尝试做正确的事情并将"22/2/2013"转换为二月的日期;"1/3/2013"被视为1月份的有效日期。英国地区可以理解d/m/y字符串,"1/3/2013"是三月日期。
要解决您的问题- d/m/y日期字符串输入所有地区-在字符串上使用a = Split("d/m/y", "/")
和DateSerial(a[2], a[1], a[0])
。
为了确保您正在使用正确的区域设置,您可以使用SetLocale来设置区域设置。对于dd/mm/yyyy
,您可以使用2057
, English UK
区域设置。
cl = GetLocale()
SetLocale(1033) ' US locale
wscript.echo FormatDateTime("1/3/2013",1)
SetLocale(2057) ' UK locale
wscript.echo FormatDateTime("1/3/2013",1)
' Set back the original locale
SetLocale(cl)
' Output:
' Thursday, January 03, 2013
' 01 March 2013
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 从VBScript调用JavaScript函数
- 完成将调用IE的密码框函数从VBScript转换为Javascript
- 使用 VBScript 函数的阶乘
- 从VBscript中的javascript函数获取值
- 将VBScript VT_ARRAY|VT_U1 Variant函数参数转换为JavaScript
- 调用vbscript函数以在所有浏览器中的body onload上运行
- 从javascript或vbscript调用CryptProtectData函数
- 调用VBScript中的JS函数
- VBScript点击链接在一个网页表调用嵌入(?)Javascript函数
- 传递一个VBscript函数作为jQuery click()函数的参数
- 如何使用不同本地的vbscript的月份函数
- 如何从vbscript调用javascript函数
- 动态事件函数绑定在vbscript / javascript中不会发生