在VBScript中为日期对象设置日期和时间而不更改系统日期/时间
问题描述:
当日期(包括Now)始终从Windows系统日期/时间调用时,VBScript中出现问题。在VBScript中为日期对象设置日期和时间而不更改系统日期/时间
如何在没有在Windows中配置系统日期/时间的情况下为VBScipt设置日期/时间。
例如
当VBS通话日期,日期将返回当前系统日期(如果今天的日期是1/1/2001)
Dim settingDate
settingDate = Date
//settingDate = 1/1/2001
我想的东西钩住了VBS代码从我们得到的日期未经代码更改Windows系统日期/时间
//Implement something to tell VBS that current date is 12/12/2000
Dim settingDate
settingDate = Date
//settingDate = 12/12/2000
感谢
答
仅有重新日期(),时间(),现在()。 POC脚本:
WScript.Echo "Date()", Date()
WScript.Echo "Time()", Time()
WScript.Echo "Now()" , Now()
ExecuteGlobal Join(Array(_
"Function Date()" _
, " Date = #1/1/2012#" _
, "End Function" _
, "Function Time()" _
, " Time = TimeSerial(1, 2, 3)" _
, "End Function" _
, "Function Now()" _
, " Now = CDate(4711.1147)" _
, "End Function" _
), vbCrLf)
WScript.Echo "Date()", Date()
WScript.Echo "Time()", Time()
WScript.Echo "Now()" , Now()
输出:
Date() 26.08.2011
Time() 14:19:41
Now() 26.08.2011 14:19:41
Date() 01.01.2012
Time() 01:02:03
Now() 23.11.1912 02:45:10
+0
可怕,但确实如此。 +1 –
+0
+1我会尽力:) – i3gu
什么问题是你想解决?系统日期应该是日期,如果你想要的东西不是日期,你可以说'Mydate =#12/12/2000#'并使用它。 – Fionnuala
嗨Remou,我正在开发自动化测试工具来检查许多设置日期的输出值,我想将我的代码(这是使用很多)中的所有日期更改为其他日期。我不想更改代码,因为它属于许多开发人员。他们使用日期获取当前日期,我需要将其更改为其他测试。 – i3gu
Rob van der Woude http://www.robvanderwoude.com/datetimenonbatch.php#SetDateVBS? – Fionnuala