分隔小时和分钟的NSDate格式

时间:2014-06-17 11:26:02

标签: objective-c ios7 nsdate

我有一个随机的NSDate,例如21:55:33。

我只想将其解析为2个不同的变量:

  1. NSDate将于21:00:00(小时)

  2. NSDate 00:55:33(分钟+秒)

2 个答案:

答案 0 :(得分:0)

您可以使用NSDateComponentsNSDate对象中提取小时/分钟/秒:

NSDate *now = [NSDate date];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comps = [calendar components:NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit
                                      fromDate:now];
NSInteger hour = [comps hour];
NSInteger minute = [comps minute];
NSInteger second = [comps second];

然后,您可以使用hour / minute / second值根据需要设置时间格式。

答案 1 :(得分:0)

trojanfoe的回答非常满意,如果想尝试以下方法仍然是:

NSDateFormatter *dateFormater=[[NSDateFormatter alloc] init];

NSString * strDate=[dateFormater stringFromDate:[NSDate date]];

[dateFormater setDateFormat:@"HH:00:00"];
NSDate * date1 = [dateFormater dateFromString:strDate];

[dateFormater setDateFormat:@"00:mm:ss"];
NSDate * date2 = [dateFormater dateFromString:strDate];