DateTime.CompareTo实际返回什么整数?

phi*_*131 11 c# datetime compareto

我一直在寻找一段时间的答案,但实际上我找不到它.

我特别看这个页面.在那里它说该CompareTo方法返回一个整数,指示它是更早,相同还是更晚.我理解它的使用,我明白早期的整数是负的,因为它是0等.

但是这个整数是多少?它是以秒,毫秒,刻度还是根本没有返回差异?我希望你可以帮助我,如果有人能找到这个问题的另一篇文章,请告诉我.老实说,我很惊讶我立即找不到关于这个话题的问题......

kab*_*ros 21

该文档实际上位于IComparable接口页面(DateTime实现):http: //msdn.microsoft.com/en-us/library/system.icomparable.aspx

CompareTo(Object)方法的实现必须返回具有三个值之一的Int32,如下表所示.

小于零:当前实例位于排序顺序中CompareTo方法指定的对象之前.

零:此当前实例出现在排序顺序中与CompareTo方法指定的对象相同的位置.

大于零:此当前实例遵循排序顺序中CompareTo方法指定的对象.


Rvd*_*vdK 17

根据MSDN,没有任何指定:

if (result < 0)
   relationship = "is earlier than";
else if (result == 0)
   relationship = "is the same time as";         
else
   relationship = "is later than";
Run Code Online (Sandbox Code Playgroud)

如果你想比较2个DateTimes之间的天数,你应该寻找这样的东西:

if ((expiryDate - DateTime.Now).Days < 30)
Run Code Online (Sandbox Code Playgroud)