C#从db解析现有的时间戳?
我试图将现有的时间戳从我的数据库解析为日期时间,但效果并不理想。据我所知,以下是一个有效的时间戳C#从db解析现有的时间戳?,c#,C#,我试图将现有的时间戳从我的数据库解析为日期时间,但效果并不理想。据我所知,以下是一个有效的时间戳 2017-03-27 02:23:37 我试过什么 Convert.ToDateTime(row["last_used"]) 还有这个 DateTime.Parse(Convert.ToString(row["last_used"])) 两个都会抛出关于它不是有效日期时间的错误 我如何保存它们: DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") 如果使
2017-03-27 02:23:37
我试过什么
Convert.ToDateTime(row["last_used"])
还有这个
DateTime.Parse(Convert.ToString(row["last_used"]))
两个都会抛出关于它不是有效日期时间的错误
我如何保存它们:
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
如果使用自定义模式格式化日期时间以进行保存,则可以使用相同的模式将其从字符串解析回日期时间:
var date = DateTime.ParseExact("row["last_used"]", "yyyy-MM-dd HH:mm:ss", CultureInfo.CurrentCulture);
我建议您使用ISO标准格式
date.ToString(“o”)
,它将生成类似2009-06-15T13:45:30.0000000 z
,然后您可以使用DateTime.parse(dateStr)
解析它,因为下面的语句工作正常:DateTime.parse(DateTime.Now.ToString(“yyyy-MM-dd HH:MM:ss”);我猜这个问题与来自数据库的值有关。行[“last_used”]不能返回null?为什么将日期保存为字符串?是否将日期存储为数据库中的字符串?.Parse不起作用,并且.ParseExact需要3个参数。一个IFormatProvider参数。尝试使用CurrentCulture.InvariantCulture
作为IFormatProvider
谢谢你的工作,尽管我现在得到了“字符串未被识别为有效的日期时间”,但它对我有效:var date=DateTime.ParseExact(“2017-03-27 02:23:37”,“yyyy-MM-dd HH:MM:ss”,CultureInfo.CurrentCulture)