项目中肯定会有很多获取时间进行计算的地方
获取当前时间
NSDate *date = [NSDate date];
NSLog(@"%@", date);
打印出来会发现会比当前时间少几个小时因为这里的时间是世界标准时间
所以为了获取我们的时间得这样
//通过系统时间获取时间zone
NSTimeZone *zone = [NSTimeZone systemTimeZone];
//通过zone获取跟标准时间的时间差
NSInteger interval = [zone secondsFromGMTForDate: date];
//最后通过时间差获取当前时间
NSDate *localDate = [date dateByAddingTimeInterval: interval];
获取了当前时间,我们一般不全会用,需要通过已知时间分别获取年月日时分秒等来进行需要的操作需要NSDateComponents这个类,类似一个装时间的容器
//获取时间日历
NSCalendar *calendar = [NSCalendar currentCalendar];
//在这里把需要装入容器的时间枚举类型都连上
NSUInteger unitFlags = NSCalendarUnitYear|NSCalendarUnitMonth |NSCalendarUnitDay|NSCalendarUnitWeekday;
//基本的几个如下,
NSCalendarUnitYear //年
NSCalendarUnitMonth //月
NSCalendarUnitDay //日
NSCalendarUnitHour //时
NSCalendarUnitMinute //分
NSCalendarUnitSecond //秒
NSCalendarUnitWeekday //星期
NSDateComponents *dateComponent = [calendar components:unitFlags fromDate:date];
然后通过获取dateComponent的属性获取相应的值
例如 我要获取年份
NSInteger week=dateComponent.year;
这样可以在项目中对时间进行各种操作了