這是歷史版本頁面 — 看 RunAsDate (64-bit) 最新版本
RunAsDate 指定日期執行軟體,測試時間敏感程式
你手上有一套軟體,可能是試用版、可能是會檢查系統時間的遊戲或工具程式。你明明知道它某個功能在某個日期之後才會開啟,或者它一偵測到系統時間超過某個期限就拒絕啟動。你想測試它在「未來某一天」的表現,但總不能真的把電腦時間調過去——調了之後,其他程式、檔案時間、網路憑證全部跟著亂掉,測試完還得記得調回來,一個不小心就忘了。
改系統時間這個做法,麻煩在於它是全域的,影響的是整台電腦,不是只有你要測的那個程式。而且有些軟體會把「系統時間被改過」這件事記錄下來,反而觸發更多問題。這類工具的切入點是:只針對你要啟動的那一支程式,給它一個假的日期時間,讓它以為現在是某年某月,但系統其他部分完全不受影響。這樣你就能反覆測試,不用擔心弄亂電腦。
01RunAsDate 到底能拿來做什麼?
它讓你先選一支程式,再指定一個日期和時間,然後用那個假的時間把程式啟動。程式本身會以為現在就是你設的那個時間點,但你的系統時鐘完全沒動。主要用途是測試有時間限制的軟體、模擬特定日期下的程式行為,或是繞過一些只認系統時間的檢查機制。
02它支援哪些 Windows 版本?
官方說明列出支援 Windows XP64、Vista64、7 64、8 64、10 64,同時也提到相容於 Windows 11 和更早的版本。介面是英文,但操作流程很短,大概就是選程式、設時間、按執行三步。如果你的系統是 32 位元,官方另外有提供 32 位元版本可以下載。
03它可以同時用不同時間跑多個程式嗎?
可以。你只要開多個 RunAsDate 的執行實例,每個實例各自設定不同的日期時間,再分別指定要啟動的程式,就能讓不同程式各自以為自己處在不同的時間點,同時在系統裡運行。這對需要比對不同日期行為的測試情境很方便。
04它能用指令碼或自動化方式操作嗎?
可以,它支援命令列參數。你可以在批次檔或自動化腳本裡直接呼叫 RunAsDate,把程式路徑和要設定的日期時間當作參數傳進去,不需要手動開介面點選。這對要重複測試同一套流程、或要把測試整合進 CI 流程的人來說,是省時間的做法。
05它需要安裝才能用嗎?
不用。官方有提供可攜版(portable version),直接解壓縮就能執行,不需要安裝程序。這表示你可以把它放在隨身碟裡,帶到不同電腦上用,也不會在系統裡留下安裝紀錄。對不想在測試機裝一堆東西的人來說,這點很實用。
06什麼樣的人會需要這套軟體?
開發者或測試者最常碰到這種需求——要驗證軟體在特定日期下的行為,像是憑證過期、試用期限到了、季節性功能切換,這些情境用 RunAsDate 可以直接模擬。另外,一般使用者如果有一套軟體因為系統時間超過某個期限而無法開啟,也可以用這個工具繞過檢查,讓程式正常啟動。
07它適合拿來測試所有類型的時間相關問題嗎?
只適合「單一程式啟動時檢查日期時間」這種情境。如果你的測試需要模擬整個系統層級的時間變化,例如多個程式之間的時間同步、或程式會去讀取系統其他元件的時間戳記,那 RunAsDate 只能騙過目標程式本身,騙不過系統其他部分。這種情況你需要的是虛擬機器或更完整的時間模擬工具。
08它跟 Genymotion、Charles 這些軟體比起來,定位有什麼不同?
這三個軟體功能完全不重疊。Genymotion 是 Android 模擬器,Charles 是 HTTP 封包偵測工具,RunAsDate 只做一件事:用指定日期時間啟動程式。資料上沒有它跟這兩者比較的資訊,但它們本來就不是同類工具,不會拿來互相比較或取代。選哪個取決於你要解決的問題是什麼。
09它適合不熟指令列、只想簡單測試的人嗎?
適合。它的圖形介面很陽春,就是瀏覽選檔、填日期時間、按執行,不需要懂任何指令。命令列支援是給進階使用者多一個選擇,不是必要條件。介面雖然是英文,但欄位少、流程短,不太會造成障礙。如果你連英文介面都覺得麻煩,那就得考慮別的工具。
10什麼情況下不該選它?
如果你需要的是 macOS 或 Linux 上的解決方案,它沒有出這兩個平台的版本,直接不適用。另外,如果你的測試需求是「系統層級」的時間模擬,例如要測整個作業系統在特定日期下的行為,它做不到。還有,如果你要測的程式會去檢查自身檔案或登錄檔的修改時間,RunAsDate 可能騙不過這種檢查,因為它只攔截時間相關的系統呼叫。
11它安全嗎?用了會不會弄壞系統?
官方說明指出它不會修改系統檔案或設定,可以正常移除。它只是在你啟動目標程式時,攔截該程式對時間的查詢,給它一個假值,系統本身沒有被更動。不過它畢竟是第三方工具,而且評分人數只有 171 人,不算特別多,如果你要拿來跑重要系統或正式環境,建議先在測試機上驗證過再使用。
12它現在還有在更新嗎?
有。資料顯示它收錄了 4 個版本,最早的版本在 2017 年,最近一次更新在 2025 年,而且近 12 個月內有更新紀錄。這表示它不是被棄養的軟體,至少目前還有在維護。不過更新頻率不算高,一年一次左右,如果你需要非常頻繁的更新來應對新軟體,可能要自己評估。
下載與官方連結
runasdate-x64.zip · 連結指向軟體原廠
版本紀錄
- 2025-11-20 RunAsDate 1.41 (64-bit) 409.6 KB
- 2021-12-06 RunAsDate 1.40 (64-bit)
- 2019-03-25 RunAsDate 1.37 (64-bit) 409.6 KB
再看 1 筆
- 2017-12-08 RunAsDate 1.36 (64-bit)
這一版改了什麼
What's new in this version:
RunAsDate 1.36 (64-bit)
- Added 'Run As Administrator' button to easily run RunAsDate as Administrator. You have to run RunAsDate as Administrator when the program you want to run with RunAsDate requires elevation
RunAsDate 1.35 (64-bit)
- RunAsDate now displays an error message if you try to run 32-bit program with 64-bit version of RunAsDate or 64-bit program with 32-bit version of RunAsDate
- RunAsDate now displays an error message if it fails to run the specified .exe file
- RunAsDate now also intercepts the NtQuerySystemTime and GetSystemTimePreciseAsFileTime API functions
- RunAsDate now also intercepts the date/time functions on kernelbase.dll (in addition to kernel32.dll). This change solves the issue with cmd.exe on Windows 10 (it uses the APIs on kernelbase.dll )
RunAsDate 1.31 (64-bit)
- Fixed bug: When a program executed with RunAsDate requested to get the current time in GMT (GetSystemTime and GetSystemTimeAsFileTime API), RunAsDate provided the wrong time with a difference of one hour if the computer date was in summer (With daylight saving time) but the selected RunAsDate date was in winter (Without daylight saving time) and vice versa...
RunAsDate 1.30 (64-bit)
- Added option to set the date/time relative to the current time. You can add (positive number) or subtract (negative number) the following time units: seconds, minutes, hours, days, months, and years.
- Added 'Start in folder' option.
- RunAsDate now saves the last settings to config file (RunAsDate.cfg)
RunAsDate 1.21 (64-bit)
- Fixed bug with 'Move the time forward according to the real time' option: After around 7 minutes from the time that the application was started, RunAsDate failed to calculate the time properly
RunAsDate 1.20 (64-bit)
- Added 'Return to the current date/time after xx seconds' option
RunAsDate 1.16 (64-bit)
- Fixed bug: RunAsDate removed a quote character when using it in the {Program parameters} section of the command-line string
RunAsDate 1.15 (64-bit)
- Fixed RunAsDate to work properly on Windows 8 64-bit
RunAsDate 1.11 (64-bit)
- Added Drag & Drop support: You can now choose the .exe file to run by dragging it from Explorer into the main window of RunAsDate
RunAsDate 1.10 (64-bit)
- Added auto complete support in the filename field
- Added x64 version