如何相互减去两个日历日期?

时间:2014-03-14 12:53:10

标签: c# asp.net date calendar

如何相互减去两个日历日期。

例如: 05-05-2014减去03-02-2013,然后它计算年,月,小时和分钟之间的差异。

2 个答案:

答案 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);
}

operatorSubtract方法都使用相同的代码。所以是的,它是一回事。这正是你个人喜欢的。

答案 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