我有格式的数据

时间:13:52,10:30,11:48

ETC

我想四舍五入到最近的时间。

例如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日期

09-30 22:10