字符串未被识别为有效的DateTime

时间:2013-11-14 10:23:55

标签: c# datetime

我收到错误:“字符串无法识别为有效的数据时间”

SqlDataAdapter DataAp = new SqlDataAdapter(createCommand);
DataTable dt = new DataTable("User");

var user = new User();

TimeSpan timeSpanDays = DateTime.Now.Subtract(DateTime.Parse(user.RegistrationTime.ToString()));
var days = timeSpanDays.Days;

if (days < 10)
{
     DataAp.Fill(dt);
     dgRecent.ItemsSource = dt.DefaultView;
     DataAp.Update(dt);
}

2 个答案:

答案 0 :(得分:0)

在这种情况下,我猜您的user.RegistrationTime不是有效的日期时间格式...您可以使用parseExact()代替简单parse()并指定格式,如果它不是标准的。

答案 1 :(得分:0)

来自你的评论:
如果RegistrationTime格式为: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小时格式 如果您还需要更多信息,请与我们联系。