我正在努力比较工作,但我真的无法让它正常工作。我想要一个简单的方法来做到这一点,但我认为我的方式不是最好的方式。
Fx
现在时间2015-01-28 14:58
DepatureTime 2015-01-28 14:59
答案是:+ 1分钟
或
现在时间2015-01-28 14:59
DepatureTime 2015-01-28 14:59
答案是:现在
或
现在时间2015-01-28 14:59
DepatureTime 2015-01-28 15:00
答案是:走了
到目前为止我已经做到了这一点,但它远非正确。第一件事是我需要从DateTime获得秒数。
DateTime t1 = DateTime.Now;
var t2 = DateTime.Parse("2015-01-28 15:14");
if(t2 < t1)
{
Console.WriteLine("Gone");
}
else if (t2 == t1)
{
Console.WriteLine("Now");
}
else
Console.WriteLine("+1");
答案 0 :(得分:5)
一些提示:
t2 == t1
表示它必须完全相同(也是相同的毫秒)。您可能只想比较年,月,日,小时和分钟。
如果你做2 DateTimes
的减法,你会得到TimeSpan
。这个TimeSpan
表示他们彼此之间有多少分钟。
DateTime t1 = DateTime.Now;
DateTime t2 = DateTime.Parse("2015-01-28 15:14");
TimeSpan difference = t2 - t1;
Console.WriteLine("Difference {}".format(difference.TotalMinutes))
请注意,TimeSpan.TotalMinutes
是double
。因此,您可能希望将其舍入为整数,以便向用户显示。
minutes_difference = Math.Round(difference.TotalMinutes, MidpointRounding.AwayFromZero)
答案 1 :(得分:0)
DateTimeOffset t1 = DateTimeOffset.Now;
DateTimeOffset t2 = DateTime.Parse("2015-01-28 15:14"); // implicit conversion
/* Use the differences as you wish. E.g.,
(t1 - t2).Hours
(t1 - t2).Minutes
*/