题目:https://leetcode-cn.com/problems/day-of-the-year/
代码:
class Solution {
public int dayOfYear(String date) {
//解析出年月日
String[] dateStr = date.split("-");
int y = Integer.valueOf(dateStr[0]);
int m = Integer.valueOf(dateStr[1]);
int d = Integer.valueOf(dateStr[2]);
//定义1-12月,每个月的天数
int[] month = new int[]{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int day = 0;
//计算m-1个月的总天数
for (int i = 0; i < m - 1; i++) {
day += month[i];
}
//加上第m月的天数
day = day + d;
//如果是闰年,且月份大于2月,则需要加1天(闰年2月多一天)
if (m > 2) {
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) {
day = day + 1;
}
}
return day;
}
}
将年月日解析出来,然后设定一个数组,提前定义好1-12月每个月的天数,考虑一下闰年的问题,即可获得答案。