Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DateTime.CompareTo实际返回什么整数?_C#_Datetime_Compareto - Fatal编程技术网

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

C# DateTime.CompareTo实际返回什么整数?,c#,datetime,compareto,C#,Datetime,Compareto,我一直在寻找一个答案已经有一段时间了,但实际上我没有找到它 我特别看着他。在那里,它表示CompareTo方法返回一个整数,指示它是更早、相同还是更晚。我理解它的用途,我也理解,在早期,整数是负数,同样的,它是0,等等 但这个整数是什么?它返回的是秒、毫秒、滴答声还是什么都没有?我希望你能在这方面帮助我,如果有人能找到另一个关于这个问题的帖子,请告诉我。我真的很惊讶,我不能马上找到关于这个主题的问题…这是一个实现细节,您永远不需要知道,并且可以随时更改。仅有的3类是: 否定的 零 肯定的 如

我一直在寻找一个答案已经有一段时间了,但实际上我没有找到它

我特别看着他。在那里,它表示
CompareTo
方法返回一个整数,指示它是更早、相同还是更晚。我理解它的用途,我也理解,在早期,整数是负数,同样的,它是0,等等


但这个整数是什么?它返回的是秒、毫秒、滴答声还是什么都没有?我希望你能在这方面帮助我,如果有人能找到另一个关于这个问题的帖子,请告诉我。我真的很惊讶,我不能马上找到关于这个主题的问题…

这是一个实现细节,您永远不需要知道,并且可以随时更改。仅有的3类是:

  • 否定的
  • 肯定的

如果您发现自己使用的不是这些,那么就有问题了。

据我所知,数字总是-1、0或1。

这是的实现。这意味着如果相等,它将返回0;如果较大,则返回正整数;如果较小,则返回负整数。

根据MSDN,没有指定任何内容:

if (result < 0)
   relationship = "is earlier than";
else if (result == 0)
   relationship = "is the same time as";         
else
   relationship = "is later than";
if(结果<0)
relationship=“早于”;
否则如果(结果==0)
relationship=“与同时”;
其他的
relationship=“晚于”;
如果您想比较两个日期时间之间的天数,您应该查找以下内容:

if ((expiryDate - DateTime.Now).Days < 30)
if((expiryDate-DateTime.Now).Days<30)

文档实际上位于IComparable界面页面中(DateTime实现该页面):

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

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

Zero:此当前实例与CompareTo方法指定的对象在排序顺序相同的位置

大于零:此当前实例按照排序顺序跟随CompareTo方法指定的对象


您可以选择要与TimeSpan进行比较的特定单位

DateTime local\u time=DateTime.Now//当前时间

DateTime remote\u time=DateTime.Now.AddMinutes(-2)//延迟两分钟

TimeSpan时间差=(本地时间-远程时间)


if(times_difference.Minutes,这意味着,我不能用它来快速找到两次之间的差异?我将不得不减去它们,然后寻找差异?事实上,这是一个实现细节并不意味着我永远不需要知道它,或者更确切地说,不想知道它。框架的内部工作方式gic本身很有趣。@phil13131要找出两次之间的差异:减去它们得到一个timespan@Rotem这不是实现细节的意思。实现细节意味着它可以在任何时候更改,而无需进一步警告。因此,您不应该假设它将是精确的值。@欣快,我理解这一点。我唯一的主张是这个问题仍然很有趣,尽管是一个实现细节。(预编辑)您链接到的页面明确表示为-ve,zero,+ve;而不是-1,0,1。实际上不保证会返回-1或1。@PLB除了这些值之外,您会给它输入什么值?分别是负数或正数。