【Objective-C】翌日の指定時間のNSDateを取得する。
翌日の指定時間を取得したかったので、色々調べた結果 下記のような感じで書けそう。
NSDate* date = [NSDate date]; NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateComponents *dateComps = [calendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate:date]; // 例)翌日の20:00を取得したい。 [dateComps setDay:(dateComps.day + 1)]; [dateComps setHour:20]; [dateComps setMinute:0]; [dateComps setSecond:0]; NSDate * notification_date = [calendar dateFromComponents:dateComps]; NSLog(@"date: %@", notification_date);
date: 2014-06-19 11:00:00 +0000