C# 检查3种不同情况下的打开和关闭时间

C# 检查3种不同情况下的打开和关闭时间,c#,datetime,math,logic,C#,Datetime,Math,Logic,我有两个变量 DateTime closingTime TimeSpan diffTime=DateTime.Now.Subtract(endtime) 我想检查3个案例: 这家商店营业n小时零n分钟 这家商店营业n分钟 商店关门了 我的代码: if(diffTime.Minutes > 0 || diffTime.Hours == 0 ) _timeLeft = "Noch " + diffTime.Minutes.ToString() + " Minuten geöffnet"

我有两个变量

  • DateTime closingTime

  • TimeSpan diffTime=DateTime.Now.Subtract(endtime)

  • 我想检查3个案例:

  • 这家商店营业n小时零n分钟

  • 这家商店营业n分钟

  • 商店关门了

  • 我的代码:

    if(diffTime.Minutes > 0 || diffTime.Hours == 0 )
        _timeLeft = "Noch " + diffTime.Minutes.ToString() + " Minuten geöffnet";
    if (diffTime.Hours > 0)
        _timeLeft = "Noch " + diffTime.Hours.ToString() + " Stunden und " + diffTime.Minutes.ToString() + " Minuten geöffnet";
    else
        //Der Markt ist derzeit geschlossen, 
        _timeLeft = "Feierabend!";
    

    没有“openingTime”有可能吗?

    仅仅用closingTime和DateTime无法证明所有3个案例。现在

    if ((DateTime.Now > openingTime) && (DateTime.Now < closingTime) && diffTime.Hours == 0)
        _timeLeft = "Noch " + diffTime.Minutes.ToString() + " Minuten geöffnet";
    else if ((DateTime.Now > openingTime) && (DateTime.Now < closingTime))
        _timeLeft = "Noch " + diffTime.Hours.ToString() + " Stunden und " + diffTime.Minutes.ToString() + " Minuten geöffnet";
    else
    //Der Markt ist derzeit geschlossen, 
        _timeLeft = "Feierabend!";
    
    if((DateTime.Now>openingTime)&&(DateTime.NowopeningTime)&&(DateTime.Now
    我的假设(是所有错误之母)。第x天:商店在Topen开门,在Tclose关门。您很可能需要知道商店是否已经打开:因此,在Topen和Tclose之间,如果您想计算商店已经打开了多长时间,那么您需要知道Topen。如果您只想计算商店将开放多长时间,并且您知道商店已经开放,那么您所需要的就是Tclose。但是如前所述,只有知道Topen,你才能掌握这些知识。使用
    &&
    而不是
    &
    ,否则你总是会陷入这种情况。但我认为最好的办法是利用开放和关闭时间。这就是现实生活的运作方式。随着openingTime的出现,它肯定会运作,它会真正运作,毫无疑问!问题是:没有“openingTime”它能工作吗?它怎么能工作?如果商店还没有开门怎么办?@Aisac不知道开门时间,你无法确定商店是开门还是关门。如果你有一家夜店,关门时间甚至可能比开门时间还要短。