YEAR = tm->tm_year+1900;
MONTH = tm->tm_mon;
DAY = tm->tm_mday-1;
+
+ /* Testing */
+ //YEAR = 2008;
+ //MONTH = OCT;
+ //DAY = 21;
}
/* Time functions */
*month = total % 12;
}
+stamp_t get_time(date_t *date)
+{
+ return mktime(&(struct tm){
+ .tm_year = date->year-1900,
+ .tm_mon = date->month,
+ .tm_mday = date->day+1,
+ .tm_hour = date->hour,
+ .tm_min = date->min});
+}
+
+int get_mins(date_t *start, date_t *end)
+{
+ return (get_time(end)-get_time(start))/60;
+}
+
+int before(date_t *start, int year, int month, int day, int hour, int min)
+{
+ int rval = start->year < year ? 1 : start->year > year ? 0 :
+ start->month < month ? 1 : start->month > month? 0 :
+ start->day < day ? 1 : start->day > day ? 0 :
+ start->hour < hour ? 1 : start->hour > hour ? 0 :
+ start->min < min ? 1 : start->min > min ? 0 : 0;
+ return rval;
+}
+
/* Debug functions */
const char *month_to_str(month_t month)
{
}
/* Test functions */
-void test_time(void)
+void date_test(void)
{
printf("Info\n");
printf(" Year Month Start Weeks Days\n");