获取某年第某天的日期

/// 获取某年第某天的日期
/// @param year 年
/// @param day 日
- (NSString *)getDateWithYear:(int)year day:(int)day {
    
    // 每月的天数
    NSMutableArray * monthArray = @[@31, @28, @31, @30, @31, @30, @31, @31, @30, @31, @30, @31].mutableCopy;
    // 闰年
    if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
        monthArray[1] = @29;
    }
    
    // 月
    int currentMonth = 0;
    // 日
    int currentDay = 0;
    
    for (int i = 0; i < monthArray.count; i++) {
        
        int everyMonth = [monthArray[i] intValue];
        
        // 确定月份
        if (day <= everyMonth) {
            currentMonth = i + 1;
            currentDay = day;
            break;
        }
        
        day = day - everyMonth;
    }
    
    NSString * date = [NSString stringWithFormat:@"%d-%d-%d", year, currentMonth, currentDay];

    return date;
}

使用方式

// 2022年的第32天
NSString * date = [self getDateWithYear:2022 day:32];
// 2022-2-1
NSLog(@"%@", date);

你可能感兴趣的:(获取某年第某天的日期)