MONTH_SHIFT
tm->tm_mon = (date >> MONTH_SHIFT) & MONTH_MASK;
date = (tm->tm_mday << MDAY_SHIFT) | (tm->tm_mon << MONTH_SHIFT) |
alm->time.tm_mon = (date >> MONTH_SHIFT) & MONTH_MASK;
MONTH_SHIFT) | (alm->time.tm_year << YEAR_SHIFT);