7

形式のデータがあります

時間:13:52、10:30、11:48

最も近い時間に丸めたいと思います。

13:52 -> 14:00、10:30 -> 11:00、11:48 -> 12:00 のように。

NSDateでそれを行うにはどうすればよいですか?

4

5 に答える 5

9

この方法を使用する

- (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 時間の日付が得られます

于 2013-06-10T07:20:39.150 に答える
0

以下のコードを使用します。それはあなたのために役立つはずです。

  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);
}
于 2013-06-10T07:13:47.253 に答える