cda*_*a01 10 c# datetime nullable .net-2.0
当其中一个可以为空时,如何减去两个日期?
public static int NumberOfWeeksOnPlan(User user)
{
DateTime? planStartDate = user.PlanStartDate; // user.PlanStartDate is: DateTime?
TimeSpan weeksOnPlanSpan;
if (planStartDate.HasValue)
weeksOnPlanSpan = DateTime.Now.Subtract(planStartDate); // This line is the problem.
return weeksOnPlanSpan == null ? 0 : weeksOnPlanSpan.Days / 7;
}
Run Code Online (Sandbox Code Playgroud)
Eri*_*ert 13
要在零时减去两个日期,其中一个或两个可以为空,只需减去它们即可.减法运算符做正确的事情; 你不需要自己编写已经在减法运算符中的所有逻辑.
TimeSpan? timeOnPlan = DateTime.Now - user.PlanStartDate;
return timeOnPlan == null ? 0 : timeOnPlan.Days / 7;
Run Code Online (Sandbox Code Playgroud)
Jak*_*sen 11
试试这个:
weeksOnPlanSpan = DateTime.Now.Subtract(planStartDate.Value);
Run Code Online (Sandbox Code Playgroud)