【发布时间】:2009-04-20 16:14:33
【问题描述】:
由于 DateTime.AddDays() 采用double 参数,我担心当您添加天数时,可能会出现一些舍入错误。例如,假设我有以下循环:
DateTime Now = DateTime.Today;
for (int i = 0; i < 365; ++i)
{
Now = Now.AddDays(1);
// do something
}
我担心现在可能会开始偏离午夜。我总是很想做这样的事情,这可能会慢一点,但可以缓解我的偏执:
for (int i = 0; i < 365; ++i)
{
Now = Now.AddDays(1.01).Date;
// do something
}
【问题讨论】:
-
如果你用
Now = 23:59调用你提议的方法,会导致错误的结果。