2014-12-18 220 views
0

很明顯,我如何計算兩個確切日期之間的時間,但我想知道實際日期與下一個星期一下午2:00之間的日期。連續計算實際日期和未來日期之間的時間

作爲一個例子,用戶可以預定瑜伽班的地方,每週一下午2:00開始有一堂課。那麼如何計算下一個星期一的日期與[NSDate date]相比呢?我想顯示下一節課的剩餘時間。

// Date of the next class - how can i get this date? 
// NSDate *nextCourse = [NSDate ??]; 

    NSCalendar *deviceCalendar = [NSCalendar autoupdatingCurrentCalendar]; 

    NSDate *date2 = [[NSDate alloc] initWithTimeInterval:nextCourse sinceDate:date1]; 

    unsigned int unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; 

    NSDateComponents *conversionInfo = [deviceCalendar components:unitFlags fromDate:date1 toDate:date2 options:0]; 
+1

你的散文說,你的問題是找到區別,但你的代碼說,你的問題是獲得'NSDate'代表「下午2點在下週一」。請更清楚它是哪一個。另外,關於「星期一2」的信息如何存儲? – 2014-12-18 23:34:31

+0

我已經指出這是基於代碼中的問題的解決方案。如果這不是你的實際問題,編輯你的問題,留下我的評論,我會重新打開它。 – 2014-12-18 23:44:17

回答

1

我可以推薦一個名爲DateTools的第三方庫,https://github.com/MatthewYork/DateTools

具體來說,您可以使用:daysUntil :, hoursUntil :, minutesUntil:方法。

例如:

double hoursUntilClass = [date2 hoursUntil];