2013-01-03 22 views
0

這是我的問題。我從我的數據庫中得到的日期包含「12/31/2013」​​。根據此日期,格式爲mm/dd/yy。現在的問題是,我怎麼做的,無論用戶計算機中的日期格式是什麼,他們總是會讀取日期「12/31/2013」​​爲mm/dd/yy,而不是示例dd/mm/yy當它讀取它包含一個錯誤,因爲沒有31個月。我嘗試從我的數據庫收到日期的拆分方法,但我cound't得到它確認的格式是獨立於用戶的計算機依賴用戶計算機的日期格式錯誤

回答

0

它不清楚,如果你想從數據庫中讀取相同的格式或在屏幕上顯示出來(UI)

如果從SQL Server,可以考慮使用convert < - 請點擊此鏈接

0

你是如何從你的數據庫中的日期?你把日期存儲爲字符串嗎?如果可能,請考慮將日期保存爲DateTime變量而不是字符串。如果不可能,請查看支持國際化的DateTime.TryParse方法,並且應該能夠了解用戶的UI本地化設置。

1

您的日期是作爲一個實際的date格式或作爲字符串存儲在您的數據庫?

請記住,DateTime.Parse默認情況下,使用當前用戶的當前系統日期/時間格式設置(因此英國用戶爲dd/MM/yyyy,但美國用戶爲MM/dd/yyyy)。如果你想統一解析,然後使用DateTime.ParseExact並指定一個確切的解析格式字符串。

有一點需要記住的經驗法則是「如果你曾經使用過String.Split,那麼你可能做錯了什麼」(我會爲快速和骯髒的設計程序做例外,但對於解析格式化字符串,正則表達式,或有限狀態機是更好的性能(較少的字符串分配),少脆。

回到話題,如果你的數據庫是存儲對象爲datedatetime那就不要使用字符串,使用方法IDataReader或輸入EF類的字段屬性