日期处理

日期数组

方便查询每个月的天数

1
int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

判断闰年

被400整除 或者 被4整除的同时不被100整除

1
2
3
4
5
6
int is_leap(int year)
{
    if (year % 4 == 0 && year % 100 || year % 400 == 0)
        return 1;
    return 0;
}

每个月的天数

主要是需要判断闰年和月份的情况

1
2
3
4
5
6
int get_month_day(int year, int month)
{
    int res = days[month];
    if (month == 2 && is_leap(year)) res += 1;
    return res;
}

每年的天数

1
2
3
4
5
6
int get_year_day(int year)
{
    int res = 365;
    if (is_leap(year)) res += 1;
    return res;
}

日期处理
http://pikachuxpf.github.io/posts/3381e20e/
作者
Pikachu_fpx
发布于
2024年3月13日
许可协议