C# 如何确定日期时间以显示正确答案?

C# 如何确定日期时间以显示正确答案?,c#,C#,我想和工作做个比较,但我真的不能让它正常工作。我想要一个简单的方法,但我认为我的方法很简单,不是最好的方法 Fx 现在时间2015-01-28 14:58 脱饱和时间2015-01-28 14:59 答案是:+1分钟 或 现在时间2015-01-28 14:59 脱饱和时间2015-01-28 14:59 答案是:现在 或 现在时间2015-01-28 14:59 退赛时间2015-01-28 15:00 答案是:走了 到目前为止,我已经做到了这一点,但这远远不是正确的。第一件事是我需要从Dat

我想和工作做个比较,但我真的不能让它正常工作。我想要一个简单的方法,但我认为我的方法很简单,不是最好的方法

Fx

现在时间2015-01-28 14:58

脱饱和时间2015-01-28 14:59

答案是:+1分钟

现在时间2015-01-28 14:59

脱饱和时间2015-01-28 14:59

答案是:现在

现在时间2015-01-28 14:59

退赛时间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");
DateTime t1=DateTime.Now;
var t2=DateTime.Parse(“2015-01-28 15:14”);
if(t2
一些提示:
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)
一些提示:
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)

使用减法<代码>(t2-t1)。总秒数
。你到底想问什么?你可以减去datetime对象得到一个时间跨度如果你想解析的格式是固定的,通常最好将固定的区域性传递给
datetime.parse
。请参阅RvdK的答案,特别是DateTimes有毫秒的部分。还要注意,t1.Kind是本地的,而t2.Kind是未指定的。在您的小示例中,这并不重要,但可能会导致其他应用程序出现问题。是否使用减法<代码>(t2-t1)。总秒数。你到底想问什么?你可以减去datetime对象得到一个时间跨度如果你想解析的格式是固定的,通常最好将固定的区域性传递给
datetime.parse
。请参阅RvdK的答案,特别是DateTimes有毫秒的部分。还要注意,t1.Kind是本地的,而t2.Kind是未指定的。在您的小示例中,这并不重要,但可能会导致其他应用程序出现问题。