[英]Get minutes and hours between two NSDates?
假設我需要獲取兩個NSDate之間的小時和分鍾。 例如,一個日期比另一個日期晚3小時42分鍾。 我將如何獲得小時數和分鍾數? 根據這個問題 ,我已經嘗試過類似的方法,但是它沒有用:您既沒有時間又沒有分鍾。
我也嘗試過使用NSCalendar,但這也沒有解決。 相反,它只是給了我小時數和秒數,而不是一次測量。
有任何想法嗎?
時間間隔以秒為單位-可以同時顯示小時和分鍾。 只是一點數學。
let hours = totalTime / 3600
let minutes = (totalTime % 3600) / 60
Mac OS X 10.10 Yosemite引入了智能NSDateComponentsFormatter來顯示組件中的時間間隔,例如18h 56m 4s
此摘要的結果是從午夜到現在的格式化時間間隔。
let calendar = NSCalendar.currentCalendar()
let midnight = calendar.startOfDayForDate(NSDate())
let timeinterval = NSDate().timeIntervalSinceDate(midnight)
let formatter = NSDateComponentsFormatter()
formatter.unitsStyle = .Abbreviated
formatter.stringFromTimeInterval(timeinterval)
普通數學很容易,不需要日歷。
let now = NSDate()
let latest = NSDate(timeInterval: 3*3600+42*60, sinceDate: now)
let difference = latest.timeIntervalSinceDate(now)
let hours = Int(difference) / 3600
let minutes = (Int(difference) / 60) % 60
這將為您提供以小時和分鍾為單位的間隔。 注意:不要忘記強制轉換為整數,因為NSTimeInterval是一個浮點類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.