以下是 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 整除,就是闰年。

Java 计算某天是该年的第几天

原文地址: https://www.cveoy.top/t/topic/n6WV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录