NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
//获取当前时间下的基本信息
NSDateComponents *dateComponents = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth fromDate:[NSDate date]];
NSLog(@"year---%ld",(long)dateComponents.year);
NSLog(@"month---%ld",(long)dateComponents.month);
//因为数据没有添加到componets,所以下面的数据错误;
NSLog(@"day---%ld",(long)dateComponents.day);
//-----------------------------------------------------
NSDateComponents *dateComponentsTwo = [[NSDateComponents alloc] init];
[dateComponentsTwo setDay:6];
[dateComponentsTwo setMonth:5];
[dateComponentsTwo setYear:2016];
NSDate *dateFromDateCmponentsForDate = [calendar dateFromComponents:dateComponentsTwo];
NSDateComponents *dateComponentsAsTimeQantum = [[NSDateComponents alloc] init];
[dateComponentsAsTimeQantum setDay:6];
//获取2016.5.6 后6天的日期。
NSDate *dateFrmoDateComponentsAsTimeQantum = [calendar dateByAddingComponents:dateComponentsAsTimeQantum toDate:dateFromDateCmponentsForDate options:0];
NSLog(@"%@",dateFrmoDateComponentsAsTimeQantum);
//-----------------------------------------------------
//2016 - 1970 = 46 年
//两个时间点之间相差的时间。
NSDateComponents *dateComponentsThree = [calendar components:NSCalendarUnitYear fromDate:[NSDate dateWithTimeIntervalSince1970:0] toDate:[NSDate date] options:0];
NSLog(@"number of years:%li", (long)dateComponentsThree.year);
//-----------------------------------------------------
//这个月 有多少天
NSUInteger leng1 = [calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:[NSDate date]].length;
NSLog(@"%lu",(unsigned long)leng1);
//这个月 有几周
NSUInteger leng2 = [calendar rangeOfUnit:NSCalendarUnitWeekOfMonth inUnit:NSCalendarUnitMonth forDate:[NSDate date]].length;
NSLog(@"%lu",(unsigned long)leng2);
NSCalendar
最新推荐文章于 2021-11-22 15:00:00 发布