#include
#define SECONDS_PER_DAY (24 * 60 * 60)
time_t time_from_date(int year, unsigned month, unsigned day)
{
return mktime(&(struct tm){
.tm_year = year - 1900, .tm_mon = month - 1, .tm_mday = day });
}
int days_between(int year0, unsigned month0, unsigned day0,
int year1, unsigned month1, unsigned day1)
{
return difftime(time_from_date(year1, month1, day1),
time_from_date(year0, month0, day0)) / SECONDS_PER_DAY;
}