我有一个随机的NSDate,例如21:55:33。
我只想将其解析为2个不同的变量:
NSDate将于21:00:00(小时)
NSDate 00:55:33(分钟+秒)
答案 0 :(得分:0)
您可以使用NSDateComponents
从NSDate
对象中提取小时/分钟/秒:
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];