2017-05-29 56 views
-3

我想獲得的格式爲字符串兩個時間之間的小時數:我怎樣才能獲得時間和打印每個時間間隔?

startTime = "9:00AM" 
endTime = "11:00AM" 

,然後打印它們之間各1小時的間隔。所以,在這個例子中,這將是:

9:00 AM - 10:00 AM 
10:00 AM - 11:00 AM 

另一個例子是:

​​3210

的那之間的時間間隔會從上午2:30,上午3:30,上午4:30等一直到第二天凌晨1:30。這可以做到最快的方式是什麼?

+0

'開始時間= 2:30 AM' '結束時間= 1:30 AM'將23小時期間 –

+0

@LeoDabus我知道這是一個23hr期間,但它的周圍以第二天。其次,這個時間有多大並不重要,我只是需要他們分成不同的時間間隔。第三,我要求提供關於如何編寫這些代碼的建議,而不是讓人們自己寫。我問過許多與代碼相關的問題,而沒有人抱怨過。 –

回答

1
  • 將字符串轉換爲Date對象與DateFormatter並添加當前的日期,月份和年份以獲得可靠的日期。
  • 使用Calendar的方法enumerateDates(startingAfter:matching:matchingPolicy: repeatedTimePolicy來獲取中間日期。
  • DateComponentsFormatter你可以得到兩個日期的字符串間隔表示。
+0

第一個問題是我遇到問題的地方。出於某種原因,我無法將時間轉換爲可靠的日期時間 –

+0

從開始日期和結束日期創建格式爲「h:mma」的'日期'。從開始日期和結束日期獲取日期組件「小時」和「分鐘」。從當前日期獲取所有相關日期組件。將當前日期組件的小時和分鐘設置爲開始日期的小時和分鐘。通過'Calendar'的'nextDateAfter:matching:'傳遞結束日期的組件來獲取實際的結束日期。 – vadian

相關問題