如何相互减去两个日历日期。
例如: 05-05-2014减去03-02-2013,然后它计算年,月,小时和分钟之间的差异。
答案 0 :(得分:3)
也许是这样的:
var end=DateTime.Parse("05-05-2014");
var start=DateTime.Parse("03-02-2013");
TimeSpan difference=(end-start);
或者在评论中。您可以像这样使用DateTime.Subtract()
:
TimeSpan difference=end.Subtract(start);
修改强>
如果查看反射器中的DateTime类。你会发现:
public static TimeSpan operator -(DateTime d1, DateTime d2)
{
return new TimeSpan(d1.InternalTicks - d2.InternalTicks);
}
public TimeSpan Subtract(DateTime value)
{
return new TimeSpan(this.InternalTicks - value.InternalTicks);
}
operator
和Subtract
方法都使用相同的代码。所以是的,它是一回事。这正是你个人喜欢的。
答案 1 :(得分:1)
日期可以相互减去,并返回TimeSpan。您可以访问TimeSpan的值以查找其年,日等的值......
var ts = DateTime.Now - new DateTime(2014, 1, 1);
// ts.Days is the number of days between now and the first of january 2014