NSCalendar浅析
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
// 获取当前时间
// NSDate *now = [NSDate date];
// NSLog(@"now = %@", now);
//
// // 日历
// NSCalendar *calendar = [NSCalendar currentCalendar]; // 单例对象
// // 利用日历类从当前对象中获取,每年每月每日(单独获取出来)
// // components:参数的含义是,问你需要获取什么?
// // 一般情况下,如果一个方法接收一个参数,这个参数是一个枚举,那么可以通过|符号,连接多个枚举值
//
// NSCalendarUnit type = NSCalendarUnitYear |
// NSCalendarUnitMonth |
// NSCalendarUnitDay |
// NSCalendarUnitHour |
// NSCalendarUnitMinute |
// NSCalendarUnitSecond;
//
// NSDateComponents *cmps = [calendar components:type fromDate:now];
// NSLog(@"year = %ld", cmps.year);
// NSLog(@"year = %ld", cmps.month);
// NSLog(@"year = %ld", cmps.day);
// NSLog(@"year = %ld", cmps.hour);
// NSLog(@"year = %ld", cmps.minute);
// NSLog(@"year = %ld", cmps.second);
// 2.比较两个时间之间的差值,比较差值多少年多少月多少日多少小时多少分钟多少秒
// 2.1 过去的一个时间
NSString *str = @"2016-01-12 09:15:43 +0000";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss Z";
NSDate *date = [formatter dateFromString:str];
// 2.2 现在的一个时间
NSDate *now = [NSDate date];
NSLog(@"date = %@", date);
NSLog(@"now = %@", now);
// 2.3 比较时间
NSCalendarUnit type = NSCalendarUnitYear |
NSCalendarUnitMonth |
NSCalendarUnitDay |
NSCalendarUnitHour |
NSCalendarUnitMinute |
NSCalendarUnitSecond;
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *cmps = [calendar components:type fromDate:date toDate:now options:0];
NSLog(@"%ld年%ld月%ld日%ld时%ld分%ld秒", cmps.year, cmps.month, cmps.day, cmps.hour, cmps.minute, cmps.second);
return 0;
}