すべてが盛り上がることを願っています!
私はこの問題を解決したいと思っていましたが、今朝いくつかのエラーが発生したようです。
これはasp.netWebアプリケーションであり、このセクションは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));
}
これは、時間が真夜中を超えていない場合に最適です。元:
- openTime:07:00(7:00 am)
- closeTime:10:00(10:00 am)
期待どおりに入力されます:
- 07:00:00
- 07:15:00
- 07:30:00
- 07:45:00
- 。
- 。
- 10:00:00
これがうまくいかないのは、開場時間が深夜前に始まり、閉店時間が深夜以降に始まるときです。
- openTime:11:00(11:00 am)
- closeTime:02:00(2:00 am)
移入する必要があります
- 11:15:00
- 11:30:00
- 11:45:00
- 。
- 。
- 。
- 2:00:00
ただし、すぐにわかるように、このシナリオではopenTimeがcloseTimeに対して<=でないため、ループは実行されません。
別のforループを作成して、closeTime<=openTimeで目的の結果が得られないかどうかを確認するだけです。私は得るだろう:
- 02:00:00
- 02:15:00
- 02:30:00
- 。
- 。
- 。
- 11:00:00
このテーマについてより経験豊富な人は、これを正常に機能させるために必要なロジックを提供できますか?
お時間をいただきありがとうございます、クリス。