形式のデータがあります
時間:13:52、10:30、11:48
等
最も近い時間に丸めたいと思います。
13:52 -> 14:00、10:30 -> 11:00、11:48 -> 12:00 のように。
NSDateでそれを行うにはどうすればよいですか?
形式のデータがあります
時間:13:52、10:30、11:48
等
最も近い時間に丸めたいと思います。
13:52 -> 14:00、10:30 -> 11:00、11:48 -> 12:00 のように。
NSDateでそれを行うにはどうすればよいですか?
この方法を使用する
- (NSDate*) nextHourDate:(NSDate*)inDate{
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *comps = [calendar components: NSEraCalendarUnit|NSYearCalendarUnit| NSMonthCalendarUnit|NSDayCalendarUnit|NSHourCalendarUnit fromDate: inDate];
[comps setHour: [comps hour]+1]; //NSDateComponents handles rolling over between days, months, years, etc
return [calendar dateFromComponents:comps];
}
これにより、inDate の次の 1 時間の日付が得られます
以下のコードを使用します。それはあなたのために役立つはずです。
NSString *dateString=@"17:15";
NSArray *strings = [dateString componentsSeparatedByString:@":"];
int firstPart=[[NSString stringWithFormat:@"%@",strings[0]] intValue];
int lastPart=[[NSString stringWithFormat:@"%@",strings[1]] intValue];
NSLog(@"LAST:%d",firstPart);
if (lastPart>0) {
int output=firstPart+1;
NSString *finalOutput=[NSString stringWithFormat:@"%d:00",output];
NSLog(@"OUTPUT:%@",finalOutput);
}
else
{
NSLog(@"OUTPUT:%@",dateString);
}