/// 获取某年第某天的日期
/// @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);