【问题标题】:c# date and time check [closed]c#日期和时间检查[关闭]
【发布时间】:2017-01-27 08:19:33
【问题描述】:

大家好,我正在做这个项目,我目前陷入困境。 我有 3 个字段都是日期和时间字段,第三个是状态字段。

我想检查当前日期和时间是否 = 目标日期和目标时间,然后返回 true,否则返回 false。这是我当前版本的代码。

*//DateComp is just a date field that checks if date is completed*
if (DateComp != null)
{
return "Complete|#8FBC8F";
}             

   *//TargetDate is the target date field I want to check* 

else if (IsDate(TargetDate)&&(TargetDate < today.Date))
                return "Overdue|#BC8F8F";

else if (IsDate(TargetDate)&&(TargetDate >= today.Date)) 
                return "Pending|#EEE8AA";
else return "Pending|#EEE8AA";

谁能帮帮我。不知道如何检查时间以使其返回 true。

【问题讨论】:

  • 请提供minimal reproducible example - 很难理解您在这里想要实现的目标,而仅发布 sn-ps 会更难理解。
  • 对不起,基本上,我想从当前日期/时间检查目标日期和目标时间。但我不知道该怎么做。
  • 为什么要返回每种类型的哈希值?我认为它们是颜色,但它们是如何使用的?您是否正在拆分回复以查找状态和颜色?如果是这样,您应该返回一个元组并保存拆分,或者实现枚举而不是映射到颜色的字符串。
  • 我同意@JonSkeet。我对这个问题感到困惑。
  • 嗨,本,你是对的。 return "Overdue|#BC8F8F" 返回一个以红色突出显示状态的过期。

标签: c# date time


【解决方案1】:

您可以只使用等于运算符 (==) 来检查 DateTime 对象是否相等。

如果您想了解它们有何不同,您可以使用DateTime.CompareTo()

【讨论】:

  • 所以不要使用 TargetDate
【解决方案2】:

我不确定,但我猜既然你提到你想要获得目标时间,你可以使用TargetDate.TimeOfDay。但是,如果您想检查它们是否相等,您可以使用 (==) 运算符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 2013-03-14
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多