| iMatix home page | << | < | > | >> |
SFL Version 2.11 |
#include "sfldate.h" Bool valid_date (long date)
Returns TRUE if the date is valid or zero; returns FALSE if the date is not valid.
{ int month, day; Bool feedback; static byte month_days [] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; month = GET_MONTH (date); day = GET_DAY (date); if (date == 0) feedback = TRUE; /* Zero date is okay */ else if (month < 1 || month > 12) feedback = FALSE; /* Month out of range */ else if ((day < 1 || day > month_days [month - 1]) || (month == 2 && day == 29 && !leap year (GET_YEAR (date)))) feedback = FALSE; /* Day out of range */ else feedback = TRUE; /* Zero date is okay */ return (feedback); }
| << | < | > | >> | Copyright © 1996-2000 iMatix Corporation |