NSCalendar

    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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值