希望一切都很好!循環開始到結束時間過夜
我希望我已經破解這個問題,但它看起來像我們今天上午遇到了一些錯誤。
這是一個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));
}
如果時間不超過午夜的時間,這個工程很好。例如:
- 的OpenTime:07:00(上午7:00)
- closeTime:10:00(10:00)
將填充預期:
- 07:00:00
- 07:15:00
- 07:30:00
- 07:45:00
- 。
- 。
- 10:00:00
如果這無法工作,就是當開啓時間午夜前開始,結束時間之後開始。
- 的OpenTime:11:00(11:00)
- closeTime:02:00(凌晨2:00)
我需要填充
- 11:15 :00
- 11:30:00
- 11:45:00
- 。
- 。
- 。
- 2:00:00
但正如你可能會很快出來,循環將無法運行,因爲的OpenTime不< =到closeTime在這種情況下。
只需在創建另一個for循環,以檢查是否closeTime < =的OpenTime不會取得理想的結果。 我會得到:
- 02:00:00
- 二點15分00秒
- 二時三十分零零秒
- 。
- 。
- 。
- 11:00:00
任何人都可以對主題更有經驗的提供需要什麼樣的邏輯來得到這個成功的工作。
謝謝你的時間,克里斯。
嘿喬恩,再次感謝您的幫助!我解決了這個問題,如果開放時間較短,我會在關門時間增加一天,這樣,我的循環就會一直開始,處理正確的時間段。 – clamchoda
@ChrisBuckler:酷 - 我已經修復了我的示例代碼,它被破壞:) –