-1

我收到错误消息:“字符串未被识别为有效的数据时间”

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);
}
4

2 回答 2

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 小时格式。
如果您需要更多信息,请告诉我。

于 2013-11-16T10:32:55.517 回答
0

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

于 2013-11-14T10:29:06.067 回答