C#DateTime检查不正确



我的一些代码有点问题。情况如下:

有一个ListView,其中包含一些测量数据。其中一个数据项是状态。此状态可以是10、20或30。这取决于下一个测量日期的值。

我做的就是这个。我取下一个测量日期,检查当前数据+3个月是否高于下一个度量日期。如果是,我返回状态30。如果当前日期>=下一个测量日期,我应该返回20。否则我会返回10。

因此,简而言之:当前日期+3个月>下一个测量日期=状态30;当前日期>=下一个测量日期=状态20;else=状态10;

问题是,当下一个测量日期高于下一测量日期时,状态30始终返回。以下是我的代码:

private string getMsaStatus(DateTime dtNextMsa)
    {
        if (DateTime.Now.AddMonths(3) > dtNextMsa)
        {
            return "30";
        }
        else if (DateTime.Now >= dtNextMsa)
        {
            return "20";
        }
        else
        {
            return "10";
        }
    }

您需要这样更改:

if (DateTime.Now >= dtNextMsa.AddMonths(3))
{
    return "30";
}
else if (DateTime.Now >= dtNextMsa)
{
    return "20";
}
else
{
    return "10";
}

此代码考虑了您评论中的澄清。

相关内容

  • 没有找到相关文章

最新更新