如何比较日期时间
的一部分时间让我们说我们有如何比较日期时间
DateTime t1 = DateTime.Parse("2012/12/12 15:00:00.000");
和
DateTime t2 = DateTime.Parse("2012/12/12 15:03:00.000");
如何在C#它比较和说哪个时间“晚于”?
使用the DateTime.Compare
方法:
DateTime date1 = new DateTime(2009, 8, 1, 0, 0, 0);
DateTime date2 = new DateTime(2009, 8, 1, 12, 0, 0);
int result = DateTime.Compare(date1, date2);
string relationship;
if (result < 0)
relationship = "is earlier than";
else if (result == 0)
relationship = "is the same time as";
else
relationship = "is later than";
Console.WriteLine("{0} {1} {2}", date1, relationship, date2);
编辑:如果你只是想时代比较,而忽略了日期,你可以使用TimeOfDay
如其他人所说。如果你需要更细粒度的东西,你也可以使用Hour
和Minute
属性。
这不关注时间 – 2012-04-24 00:33:38
日期只不过是时间的实现。例如,嘀嗒声是从0001年1月1日午夜12:00点开始经过的100纳秒间隔的数量。因此比较两个日期实际上只是比较Ticks中的差异。时间比较是隐含的。 – mgnoonan 2012-04-24 00:40:08
是的,但OP要求只是时间比较。如果您比较完整的勾号,那么它不会测试6AM是否晚于5AM,例如,这似乎暗示了问题 – 2012-04-24 00:44:13
的<
,<=
,>
,>=
运营商都直接DateTime
和TimeSpan
对象。因此,像这样的工作:
DateTime t1 = DateTime.Parse("2012/12/12 15:00:00.000");
DateTime t2 = DateTime.Parse("2012/12/12 15:03:00.000");
if(t1.TimeOfDay > t2.TimeOfDay) {
//something
}
else {
//something else
}
谢谢,我想......就像DateTime和TimeSpan这样的一个破发者,它首先要保证一个downvote,但是呢?我想不是。 – kaveman 2012-04-24 00:45:30
它没有回答发布的问题,所以是的,通常情况下,这是什么downvotes是。另外,你忘了提==也有作品。 – 2012-04-24 00:52:05
我们真的在这里击败了一匹死马,但你显然陷入了这些愚蠢的细节中(还有@mgnoonan)。在OP被提出的时间,我的原始答案,你的回答,我编辑的答案等之间进行了一些编辑。在对表决的每一个解释与你自己的问题不相符之前,进行合理的判断。 – kaveman 2012-04-24 00:59:55
你的问题不符合您的问题标题。你想比较DateTime还是仅仅比较DateTime的时间部分? – 2012-04-24 00:34:19