我的一些代码有点问题.案件如下:
ListView包含一些测量数据.其中一个数据项是状态.此状态可以是10,20.这取决于下一个测量日期的值.
我做的是这个.我采取下一个测量日期并检查当前数据+ 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";
}
}
Run Code Online (Sandbox Code Playgroud)
你需要改变它:
if (DateTime.Now >= dtNextMsa.AddMonths(3))
{
return "30";
}
else if (DateTime.Now >= dtNextMsa)
{
return "20";
}
else
{
return "10";
}
Run Code Online (Sandbox Code Playgroud)
此代码考虑了您的评论中的说明.