C# 字符串未被识别为有效的数据时间
我收到错误:“字符串未被识别为有效的数据时间”C# 字符串未被识别为有效的数据时间,c#,datetime,C#,Datetime,我收到错误:“字符串未被识别为有效的数据时间” SqlDataAdapter DataAp=新的SqlDataAdapter(createCommand); DataTable dt=新的DataTable(“用户”); var user=新用户(); TimeSpan timeSpanDays=DateTime.Now.Subtract(DateTime.Parse(user.RegistrationTime.ToString()); var days=timeSpanDays.days; 如
SqlDataAdapter DataAp=新的SqlDataAdapter(createCommand);
DataTable dt=新的DataTable(“用户”);
var user=新用户();
TimeSpan timeSpanDays=DateTime.Now.Subtract(DateTime.Parse(user.RegistrationTime.ToString());
var days=timeSpanDays.days;
如果(天数<10天)
{
数据ap.Fill(dt);
dgRecent.ItemsSource=dt.DefaultView;
数据更新(dt);
}
在这种情况下,我猜您的用户。注册时间
不是有效的日期时间格式。。。您可以使用parseExact()
而不是简单的parse()
,如果不是标准格式,可以指定格式。从您的评论中:如果注册时间格式为:
dd/mm/yyyy hh:mm:ss
这:
TimeSpan timeSpanDays = DateTime.Now.Subtract(DateTime.Parse(user.RegistrationTime.ToString()));
应该是:
TimeSpan timeSpanDays = DateTime.Now.Subtract(DateTime.ParseExact(user.RegistrationTime.ToString(),"dd/MM/yyyy HH:mm:ss",System.Globalization.CultureInfo.InvariantCulture));
假设小时数为24小时格式。如果您还需要什么,请告诉我。-1。你从哪里得到这个错误?你做了什么来纠正代码?请提供更多详细信息。
user.RegistrationTime
具体是什么?什么是user.RegistrationTime.ToString()
?好的,RegistrationTime的格式是dd/mm/yyyy hh:mm:ss。那么我该如何转换这个呢?
TimeSpan timeSpanDays = DateTime.Now.Subtract(DateTime.ParseExact(user.RegistrationTime.ToString(),"dd/MM/yyyy HH:mm:ss",System.Globalization.CultureInfo.InvariantCulture));