Date

本文介绍了在iOS开发中如何使用Objective-C来获取当前日期的天数、当月总天数及比较两个日期的方法。通过NSDateFormatter和NSCalendar组件,开发者可以轻松实现日期的格式化和计算。
/**
 *  获取当前天数
 *
 *  @return 当月当前的天数
 */
- (NSUInteger)GetsCurrentNumDays{
    NSDateFormatter * zzformatter = [[NSDateFormatter alloc]init];
    zzformatter.dateFormat = @"dd";
    NSString *string1 = [zzformatter stringFromDate:[NSDate date]];
    if ([string1 isEqualToString:@"0"]) {//判断第一位是否为0
        string1 = [string1 substringWithRange:NSMakeRange(1, 1)];
    }

   return [string1 intValue];
}


/**
 *  获取当月总天数
 *
 *  @return 返回当月的总天数
 */
- (NSUInteger)GetsMonthDaysTotal{
    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSRange range = [calendar rangeOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:[NSDate date]];
    return  range.length;
}



-(int)compareDate:(NSString*)date01 withDate:(NSString*)date02{
    int ci;
    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *dt1 = [[NSDate alloc] init];
    NSDate *dt2 = [[NSDate alloc] init];
    dt1 = [df dateFromString:date01];
    dt2 = [df dateFromString:date02];
    NSComparisonResult result = [dt1 compare:dt2];
    switch (result)
    {
        //date02比date01大
        case NSOrderedAscending: ci=1; break;
        //date02比date01小
        case NSOrderedDescending: ci=-1; break;
        //date02=date01
        case NSOrderedSame: ci=0; break;
        default: NSLog(@"erorr dates %@, %@", dt2, dt1); break;
    }
    return ci;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值