Windows 7 / Server 2008 + IIS 7 環境下,控制面板「地區與語言」已設定短日期格式為 yyyy-MM-dd,但 ASP 內建 Now() / Date() 函數仍回傳 yyyy/MM/dd (斜線)。原因:ASP 讀取的是 HKEY_USERS\.DEFAULT\Control Panel\International 機碼,而非目前使用者設定。
regedit 開啟登錄編輯器。HKEY_USERS\.DEFAULT\Control Panel\International| 名稱 | 原值 | 新值 |
|---|---|---|
sDate | / | - |
sShortDate | yyyy/M/d | yyyy-M-d |
iisreset 重啟 IIS 生效。驗證:建立 test.asp → <%=Date()%>,應顯示 2024-01-15 格式。
補充: .NET (ASP.NET) 讀取 CultureInfo.CurrentCulture,通常不受此影響;若 ASP.NET 也異常,請檢查 web.config <globalization culture="zh-TW" uiCulture="zh-TW"/> 設定。