我正在使用算法編寫調度程序。在算法的最後階段,我需要查看時間表(創建的時間表),以查看學生當時是否已被分配到班級。確定兩個時間範圍是否重疊
因此,我們有:
Current Class Start Time: (2017, 02, 09, 10, 00, 00)
Current Class Finish Time: (2017, 02, 09, 11, 00, 00)
在這個時刻,我們將搜索到的時間表,看看有什麼其他類學生A被分配到:
例如,讓我們在同一天說,他們已分配給:
Class 'Z' Start Time: (2017, 02, 09, 09, 00, 00)
Class 'Z' Finish Time: (2017, 02, 09, 12, 00, 00)
現在我想找到類「Z」的時間範圍,並將其與當前類的時間範圍進行比較。
DateTime startClassZ = new DateTime(2017, 02, 09, 09, 00, 00);
DateTime endClassZ = new DateTime(2017, 02, 09, 12, 00, 00);
DateTime StartCurrent = new DateTime(2017, 02, 09, 10, 00, 00);
DateTime StartCurrent = new DateTime(2017, 02, 09, 11, 00, 00);
if (They do not clash)
{
Assign
}
if (Clash)
{
Select Another Student
}
任何人都可以請我幫助我的'IF聲明',以及如何解決這個問題。
,我想它的方式,有三種可能性:
- 如果「當前類」(開始和結束時間),「Z類」(衝突1)
- 如果之間的土地「開始時間」'當前類的土地的在「級Z」(衝突2)
- 之間。如果在「級Z」(衝突3)
謝謝
「的方式,我我在想,有三種可能性:「你是否嘗試過實現這一點,看看會發生什麼?你已經嘗試了什麼? http://stackoverflow.com/help/how-to-ask – AndyJ
由於班級的長度不盡相同,因此有三種以上的可能性。因此,您有四個變量:開始A,結束A,開始B,結束B.組合爲:1)A在B開始前開始和結束2)A在B之前開始並在B之前結束3)A開始於B之前並在B 4)A在B之後開始,B在B之前結束5)A在B之後開始並在B之後結束6)A在B結束之後開始 – jdweng
不,因爲我想知道是否會有一個解決方案, 09:00:00到12:00:00然後我可以使用if語句來查看開始時間結束時間或新變量(10:00:00到11:00:00)是否會落在Z類變量之間( 09:00:00到12:00:00) –