我有以下时间样本:
06:09
08:10
23:12
00:06 // next day
00:52我有一个样本00:31 (nextday),需要进行比较,并检查它是否小于上述样本。
if (cdnTime > nextNode)
{
//dosomething
}这里的cdnTime是00:31,nextNode是上面给出的多个示例。Time 00:31大于除00:52之外的所有样本,因此我需要if语句为false,直到它到达00:52。我如何实现这一点。记住样本切换到第二天的时间,我是否需要将其设置为DateTime,然后进行比较,或者是否有任何方法可以与没有日期的TimeSpan进行比较。
发布于 2019-01-02 22:06:13
是的,你需要以某种方式告诉你这是新的一天。您可以使用DateTime,但也可以使用额外的一天来初始化timespan -它为以下内容提供了一个Parse-method:
using System;
using System.Globalization;
public class Program
{
public static void Main()
{
var cdnTime = TimeSpan.Parse("23:12", CultureInfo.InvariantCulture);
var nextTime = TimeSpan.Parse("01.00:03", CultureInfo.InvariantCulture);
Console.WriteLine(cdnTime.TotalMinutes);
Console.WriteLine(nextTime.TotalMinutes);
Console.WriteLine(cdnTime.CompareTo(nextTime));
Console.WriteLine(cdnTime < nextTime);
}
}另一种选择是添加后面的一天:
var anotherTime = TimeSpan.FromMinutes(3);
anotherTime = anotherTime.Add(TimeSpan.FromDays(1));
Console.WriteLine(anotherTime.TotalMinutes);你可以在这里尝试一下:https://dotnetfiddle.net/k39TIe
https://stackoverflow.com/questions/54007619
复制相似问题