【发布时间】:2012-06-28 15:57:05
【问题描述】:
希望一切顺利!
我希望我已经解决了这个问题,但看起来我们今天早上遇到了一些错误。
这是一个 asp.net web 应用程序,这部分是用 c# 编写的。我们正在动态填充下拉列表,其中 openTime、closeTime 和 15 分钟的间隔都是 TimeSpan 类型。
TimeSpan interval = new TimeSpan(0,15,0);
for (TimeSpan i = openTime; i <= closeTime; i = i.Add(interval))
{
string stringTime = i.ToString();
ddlTime.Items.Add(new ListItem(stringTime, stringTime));
}
如果时间不超过午夜,这将非常有用。例如:
- 开放时间:07:00(上午 7:00)
- 关闭时间:10:00(上午 10:00)
将按预期填充:
- 07:00:00
- 07:15:00
- 07:30:00
- 07:45:00
- 。
- 。
- 10:00:00
这不起作用的地方是开放时间在午夜之前开始,而关闭时间在午夜之后开始。
- 开放时间:11:00(上午 11:00)
- 关闭时间:02:00(凌晨 2:00)
我需要填充
- 11:15:00
- 11:30:00
- 11:45:00
- .
- .
- .
- 2:00:00
但正如您可以很快看出的那样,循环不会运行,因为在这种情况下 openTime 不是
只需创建另一个 for 循环来检查 closeTime
- 02:00:00
- 02:15:00
- 02:30:00
- .
- .
- .
- 11:00:00
在这个主题上更有经验的人能否提供成功完成这项工作所需的逻辑。
感谢您的宝贵时间,克里斯。
【问题讨论】:
标签: c# asp.net .net datetime timespan