環境: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