我的一些代码有点问题。情况如下:
有一个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";
}
此代码考虑了您评论中的澄清。