用java编写一个函数给出年月日计算该日是该年的第几天
以下是Java代码,实现了上述要求:
public static int getDayOfYear(int year, int month, int day) {
int[] daysOfMonth = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int dayOfYear = 0;
for (int i = 1; i < month; i++) {
dayOfYear += daysOfMonth[i];
}
dayOfYear += day;
if (month > 2 && isLeapYear(year)) {
dayOfYear++;
}
return dayOfYear;
}
public static boolean isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
其中,getDayOfYear函数接收三个参数:年、月、日。它首先定义了一个数组daysOfMonth,表示每个月的天数,其中第0个元素为0,方便后面计算。接着,通过循环累加月份之前的天数,最后再加上当月的天数。如果当前年份是闰年并且月份大于2月,还需要再加上1天。最后,返回当日是该年的第几天。
isLeapYear函数用于判断是否为闰年。如果能被4整除但不能被100整除,或者能被400整除,就是闰年
原文地址: https://www.cveoy.top/t/topic/feEv 著作权归作者所有。请勿转载和采集!