2014-03-13 49 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);