时间跨度比较

时间:2019-01-02 13:56:54

标签: c# datetime timespan

我有以下时间样本:

06:09
08:10
23:12
00:06   // next day
00:52

我有一个样本00:31nextday)需要进行比较,并检查其是否少于上述样本。

if (cdnTime > nextNode)
{
   //dosomething
 }

cdnTime这里是00:31,nextNode是上面给定的多个示例。时间00:31大于除00:52之外的所有样本,因此我需要if语句为假,直到达到00:52。我该如何实现。请记住,时间采样切换到第二天,我是否需要将其设置为DateTime,然后与不带日期的TimeSpan进行比较或有任何比较的方式。

1 个答案:

答案 0 :(得分:1)

是的,您需要以某种方式告诉您这是另一天。您既可以使用DateTime,也可以使用另一天来初始化时间跨度-它为此提供了Parse-method

class DetailResponse {
    data class BasicInfo (
        @SerializedName("favorite") val isFavorite: Boolean,
        @SerializedName("screenshots") val screenshots: ArrayList<Link>
    )

    data class Link (
        @SerializedName("href") val href: String
    )
}

另一种选择是在之后添加一天:

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);
    }
}

您可以在这里尝试: https://dotnetfiddle.net/k39TIe