我这里的TimeSpan用的不对吗?这代码执行的结果不对啊

zenoven 2010-09-23 07:28:07
第二个方法UpdateOverdueProductStatus() 在每次加载商品时都会执行,将过期的商品的状态字段 status 修改为0,他调用第一个GetProductRemainTime获取商品的剩余时间

现在的问题是第二个方法UpdateOverdueProductStatus() 里面的那句if判断,貌似所有的商品都被判断成过期的(商品表中中不是所有的商品都过期的),即,所有的商品的状态都被修改成了0,不知道问题到底出在哪里啊,那个TimeSpan的TotalMilliseconds难道没有正负?还是问题出在哪里?


public static TimeSpan GetProductRemainTime(Product pd)

{
DateTime deadline = pd.PublishedTime.AddDays(pd.KeepTime);//商品的截止日期=商品发布日期+保留时间(有效时间)
TimeSpan time = deadline - DateTime.Now;
return time;

}


public static void UpdateOverdueProductStatus()
{
List<Product> pdList = ChangeToEntityList(new ProductDAL().GetProduct());
ProductDAL pdDAL = new ProductDAL();
for (int i = 0; i < pdList.Count; i++)
{
if (GetProductRemainTime(pdList[i]).TotalMilliseconds <= 0)//如果剩余时间非正,则商品过期
{
pdList[i].Status = '0';
pdDAL.UpdateProduct(pdList[i]);
}
}

}



...全文
117 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zenoven 2010-09-23
  • 打赏
  • 举报
回复
TimeSpan.TotalSeconds 或者是TotalDays之类的应该有正负的吧?
zenoven 2010-09-23
  • 打赏
  • 举报
回复
time的值是有正的,这是其中一次跟踪的time


- time {12.19:58:48.9949040} System.TimeSpan
zenoven 2010-09-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lost_painting 的回复:]

1.先确定 TimeSpan time = deadline - DateTime.Now; 得出的值至少有>0的
2.pdDAL.UpdateProduct(pdList[i]); 这个方法中代码是否正确?
[/Quote]

这两个都没有问题的,1:因为之前没有在每次调用商品时都更新状态的,那时显示的剩余时间就是有正有负的
2:这个也是没有的,刚又检查过一次
鸭梨山大帝 2010-09-23
  • 打赏
  • 举报
回复
1.先确定 TimeSpan time = deadline - DateTime.Now; 得出的值至少有>0的
2.pdDAL.UpdateProduct(pdList[i]); 这个方法中代码是否正确?
wuyq11 2010-09-23
  • 打赏
  • 举报
回复
List<Product> pdList = ChangeToEntityList(new ProductDAL().GetProduct());
foreach(Product p in pdList )
{
if(GetProductRemainTime(p).TotalSeconds <= 0)
{
pdList[i].Status = '0';
pdDAL.UpdateProduct(pdList[i]);
}
}
单步跟踪看看time值

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧