2014-03-13 50 views
0

我需要將數據庫中的UTC當前時間保存在加密字符串中,同時我將數據解密並再次轉換爲日期時間。UTC DateTime多字符串網站從字符串值轉換

問題是,日期時間在阿拉伯文化就像有些事本「35年12月5日九時40分45秒ص」 和像「35年12月5日上午九時40分45秒英語文化「

當我嘗試將它從字符串轉換爲DateTime時,它給出了給定字符串不是有效字符串進行轉換的錯誤。

我用文化甲酸的轉換像

Convert.ToDateTime(Helper.Decrypt(dr.GetString(dr.GetOrdinal("LastLoginDate"))), new CultureInfo("ar-AE")) 

這工作正常一次,但一段時間後再次無效的字符串錯誤後。 可能是不正確的方式或我們的測試問題。

你可以請建議任何更好的解決方案,除了在轉換之前修改日期時間字符串像這樣。

+0

「我需要保存在加密的字符串數據庫的UTC當前時間」 - 爲什麼?即使您出於某種原因需要對其進行加密,也無需將其存儲爲文化敏感的字符串。是否有任何理由不將它作爲日期時間字段保存在數據庫中? –

回答

1

我使用CultureInfo.InvariantCulture:

string str = Helper.Decrypt(dr.GetString(dr.GetOrdinal("LastLoginDate"))); 
DateTime result; 
if (!DateTime.TryParse(str, out result)) 
    result = DateTime.Parse(str, CultureInfo.InvariantCulture, DateTimeStyles.None);