在VBScript中为Date对象设置日期和时间,而不更改系统日期/时间

i3g*_*3gu 1 vbscript datetime

当Date(包括Now)始终从Windows系统日期/时间调用时,我在VBScript中遇到了问题.

如何在不配置Windows系统日期/时间的情况下为VBScipt设置日期/时间.

例如

在VBS中呼叫日期时,日期将返回当前系统日期(如果今天日期是1/1/2001)

Dim settingDate
settingDate = Date
//settingDate = 1/1/2001
Run Code Online (Sandbox Code Playgroud)

我希望能够连接VBS代码以从我们设置的日期获取日期,而无需从代码更改Windows系统日期/时间

//Implement something to tell VBS that current date is 12/12/2000
Dim settingDate
settingDate = Date
//settingDate = 12/12/2000
Run Code Online (Sandbox Code Playgroud)

谢谢

Ekk*_*ner 5

只需重新定义Date(),Time(),Now().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()
Run Code Online (Sandbox Code Playgroud)

输出:

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
Run Code Online (Sandbox Code Playgroud)