给你一个字符串 date
,按 YYYY-MM-DD
格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天
class Solution {
public int dayOfYear(String date) {
int year = Integer.parseInt(date.substring(0,4));
int mouth = Integer.parseInt(date.substring(5,7));
int day = Integer.parseInt(date.substring(8));
int[] days = {31,28,31,30,31,30,31,31,30,31,30,31};
// 对400取余是保留类似于2000年的闰年
// 对100取余不等于0 是为了剔除1900这样的平年
if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)){
days[1]++;
}
int res=0;
for(int i=0;i<mouth-1;i++){
res += days[i];
}
return res + day;
}
}
。