获取某年第某天的日期

/// 获取某年第某天的日期
/// @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);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容