获得特定月份的天数-iOS

    xiaoxiao2021-03-25  97

    需求:给出日期,得出该月的天数

    /** 根据给定的日期返回该月的天数 @param dateStr 特定的日期格式 @return 该月天数 */ - (NSInteger)numberOfDayInMonthWithDateStr:(NSString *)dateStr { NSDate * date = [self dateWithdateSr:dateStr]; NSCalendar * calendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; // 通过该方法计算特定日期月份的天数 NSRange monthRange = [calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:date]; return monthRange.length; } /** 根据给出的日期获得NSDate @param dateStr 日期 @return 对应的NSDate */ - (NSDate *)dateWithdateSr:(NSString *)dateStr { NSDateFormatter * dateFormatter = [[NSDateFormatter alloc]init]; // 此处根据需求改对应的日期格式 [dateFormatter setDateFormat:@"yyyy-MM"]; NSDate * date = [dateFormatter dateFromString:dateStr]; return date; }

    例子

    NSLog(@"%ld", [self numberOfDayInMonthWithDateStr:@"2017-02"]); result: 28

    NSCalendar中的 -(NSRange)rangeOfUnit:(NSCalendarUnit)smaller inUnit:(NSCalendarUnit)larger forDate:(NSDate *)date; 作用: 根据指定的日期返回较小日历单位在较大日历单位中的范围。 参数: smaller 较小的日历单位 larger 较大的日历单位 date 指定的日期

    转载请注明原文地址: https://ju.6miu.com/read-16258.html

    最新回复(0)