我有一个 VBscript,可以在世界各地的设备上运行,因此使用各种区域设置。
我的脚本的一部分正在计算两个日期之间的差异,但我无法得到一致的结果。
一个例子:
'Get system date in EU format
dEUDate = Right("0" & DatePart("d",Date), 2) & "-" & Right("0" & DatePart("m",Date), 2) & "-" & DatePart("yyyy",Date)
'Read date/time value from an application in registry - will return e.g. 05-01-2013 07-19-00
dateKLAVDef = UCase(objShell.RegRead(strKLAVStateKey & "\Protection_BasesDate"))
'Find date difference
iAVDefAge = DateDiff("d", Left(dateKLAVDef, 10), dEUDate)
WScript.Echo "AV def.: " & dateKLAVDef & vbTab & "Current date: " & dEUDate & vbTab & "Diff: " & iAVDefAge
这是使用 EU 区域设置配置设备时的结果,它给出了正确的结果:
AV 定义:05-01-2013 07-19-00 当前日期:07-01-2013 差异:2
这是使用非欧盟区域设置(例如英语(美国))配置设备时的结果,这(从脚本的角度来看)不正确:
AV 定义:05-01-2013 07-19-00 当前日期:07-01-2013 差异:61
我怎样才能使它与非欧盟区域设置一起使用?
提前致谢。