您的位置:首页 > 其它

时间解析(NSDate、NSDateFormatter、NSCalendar、NSDateComponents):

2015-12-25 16:27 330 查看
时间解析(NSDate、NSCalendar、NSDateComponents):
1、
NSDate *date = [NSDate
date];
NSCalendar *calendar = [NSCalendar
currentCalendar];
NSDateComponents *comps;
    // 年月日获得
    comps = [calendar components:(NSCalendarUnitYear |
NSCalendarUnitMonth | NSCalendarUnitDay)
                        fromDate:date];
    NSInteger y = [comps
year];
    NSInteger m = [comps
month];
    NSInteger d = [comps
day];
    NSLog(@"year: %ld month: %ld, day: %ld", y, m, d);
    
    //当前的时分秒获得
    comps = [calendar components:(NSCalendarUnitHour |
NSCalendarUnitMinute | NSCalendarUnitSecond)
                        fromDate:date];
    NSInteger h = [comps
hour];
    NSInteger m = [comps
minute];
    NSInteger s = [comps
second];
    NSLog(@"hour: %li minute: %li second: %li", h, m,s);

2、还可以使用NSDateFormatter将日期格式化为 "yyyy-MM-dd hh/HH:mm:ss" 后,再用字符串逐步切割,逐渐获取到年月日时分秒(先用" "切割,然后再用”-“和”:"切割)即可获取到

NSDate *date = [NSDate
date];
    NSDateFormatter *formatter= [[NSDateFormatter
alloc] init];
    formatter.dateFormat =
@"yyyy-MM-dd HH:mm:ss";
    NSString *str = [formatter
stringFromDate:date];

 NSArray *arr = [str componentsSeparatedByString:@" "];
 NSArray *arr1 = [arr[0] componentsSeparatedByString:@"-"]; // 年 月 日

 NSArray *arr2 = [arr[1] componentsSeparatedByString:@":"]; // 时 分 秒
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: