给出年、月、日,计算该日期是该年的第n天。
来源:百度知道 编辑:UC知道 时间:2024/05/26 23:39:13
public class Test {
public static void main(String[] args) {
System.out.println(dayOfYear("2009-01-11"));
}
static int dayOfYear(String date) {
String[] params = date.split("-");
int year = Integer.parseInt(params[0]);
int month = Integer.parseInt(params[1]);
int day = Integer.parseInt(params[2]);
return dayOfYear(year, month, day);
}
static int dayOfYear(int year, int month, int day) {
daysOfMonth[2] = isLeapYear(year) ? 29 : 28;
int sum = 0;
for (int i = 1; i < month; ++i) {
sum += daysOfMonth[i];
}
return sum + day;
}
static boolean isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}
final static int[] daysOfMonth =
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
}