IIS Web 時間日期格式的bug.

環境:iis7+net4.5+sqlserver 2008

問題:sqlserver 表字段屬性爲nvarchar(), c#代碼寫入數據庫後的格式形如:4/5/2016 12:00:00AM

導致讀取此類日期時,無法正常轉換爲日期或在數據庫中做日期比較,因此報錯.


解決方法參考:http://blog.csdn.net/smeyou/article/details/6619528


IIS時間格式調整:

(已解決)今天在用IIS7的時候發現一個關於時間格式的問題,當我在ASP中使用now()時間函數的時候,日期是以“/”來分隔,而不是以“-”來分隔的,使得我在運行程序的時候老出錯,後來經過研究終於找到解方法。

    這裏我使用的操作系統是Winodws Vista Ultimate Service Pack 1,在ASP中使用now()時間函數出現的結果如下:

    2009/3/17 8:11:51

    而我想要的結果是2009-3-17 8:11:51,不知道爲什麼在IIS7中時間格式要以/來區分,如果有高手知道請留言,不過最終我通過修改註冊表的方法解決了此問題,方法如下:

    1、開始→運行→輸入regedit,打開註冊表編輯器,依次找到HKEY_USERS\.DEFAULT\Control Panel\International

    2、在右邊的窗口中找到sDate項,將其值改爲-;再找到sShortDate項,將其值改爲yyyy-M-d,

    3、重新啓動IIS,開始→運行→輸入iisreset

 

按照以下方法未解決:

自從裝了番茄花園的XP後,就發現問題一大堆。

首先是本地的幾個站點不能正常運行,提示錯誤信息是時間格式錯誤。以前可以現在不行?看了一下,好象是多了一個“上午/下午”字符串。

網絡上找了相關資料如下:

修改註冊表

HKEY_USERS/.Default/Control Panel/International

HKEY_CURRENT_USER/Control Panel/International

iTime = 1

對應鍵值爲HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/OLEAUT(OLEAUT有可能不存在,那就自己創建一個)

在該鍵下創建一個DWORD VarConversionLocaleSetting = 2

注:DWORD值在中文註冊表編輯器裏叫"雙字節值"

操作完畢重新啓動計算機...OK

其他:爲什麼這個DWORD值爲2?其實他有0,1,2

0 -默認值,就是當前值。

1 -默認爲HKEY_USERS/.default/Control Panel/International註冊表配置單元中的系統默認設置,如果你的系統日期格式已經不標準了,那就還是相當於當前值。

2 -此格式被強制爲使用系統默認的區域設置。

試過了,上面的方法都不行。不知道是不是我沒有理解其中的精華。

想起自己以前用優化大師,在日期前面加了諸如“好好學習”的字樣,是不是在優化大師也可以解決這個問題?

在個性設置裏面刪除“上午/下午”,重起。

還是不行。

但我終究還是搞定了的,不然也不會說了那麼一堆的廢話了。

“控制面板”-“日期、時間、語言和區域設置”- “更改數字、日期、和時間的格式”“區域選項”- “自定義”時間

時間格式:HH:mm:ss (具體什麼意思,上面有)

日期格式:yyyy-M-d

你可以試試換成其他的格式來看看效果。下面一段Code用來檢測格式規範與否的。

IIS時間格式檢驗腳本:

<!----Test Time Begin---->

       <%

         tnow = now():oknow = cstr(tnow)

         if oknow <> year(tnow) & "-" & month(tnow) & "-" & day(tnow) & " " & hour(tnow) & ":" & right(FormatNumber(minute(tnow)/100,2),2) & ":" & right(FormatNumber(second(tnow)/100,2),2) then oknow = oknow & " (日期格式不規範)"

         %>

服務器時間: <%=oknow%>

<!----Test Time End---->

------------------------------------------

2006.09.06

再次碰到此問題,經測試後,發現。上面通過在“日期、時間、語言和區域設置”裏面設置是無效的。

採用上面提到的:

對應鍵值爲HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/OLEAUT(OLEAUT有可能不存在,那就自己創建一個)

在該鍵下創建一個DWORD VarConversionLocaleSetting = 2

重啓IIS,就OK了。

重啓IIS:

    開始 - 運行

  net stop iisadmin

  iisreset


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章