int dayOfYear(char* date) {
int year = (date[0]-'0') * 1000 + (date[1]-'0') * 100 + (date[2]-'0') * 10 + (date[3]-'0');
int month = (date[5]-'0') * 10 + (date[6]-'0');
int day = (date[8]-'0') * 10 + (date[9]-'0');
int daysInMonth[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int sum = 0;
for (int i = 1; i < month; i++) {
sum += daysInMonth[i];
}
sum += day;
if (month > 2 && ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))) {
sum++;
}
return sum;
}
先取出年月日
定义一个数组存储每个月的天数
for循环一下这些月加起来有多少天
然后判断一下是否是闰年
如果是就加一天
最后return回天数