Well I'd suggest stripping the time out and compare the two dates that way:
public static int HowManyDaysFromToday(DateTime appointment)
{
var today = DateTime.Today;
var appDay = appointment.Date;
return appDay.Subtract(today).TotalDays;
}
If you wanted then you could return a timespan with the actual time too:
public static TimeSpan HowManyDaysFromToday(DateTime appointment)
{
var today = DateTime.Today;
var appDay = appointment.Date;
return appDay.Subtract(today) + appointment.Subtract(appDay);
}
That way you have all the data in one standard object:
public override string ToString(){
var ts = HowManyDaysFromToday(_app);
return string.Format("{0} days at {1}:{2}",(int)ts.TotalDays,ts.Hours,ts.Minutes);
}
That's not a great way to do it, but it's just an idea ^_^