date_from_tm(3) convert between tm struct and Windows DATE value


#include <synce.h>

bool date_from_tm(struct tm *pTm, DATE *pDateOut);

bool date_to_tm(DATE dateIn, DWORD dwFlags, struct tm *pTm);


The date_from_tm() function converts a tm struct into the Windows DATE field pointed to by pDateOut. Only years after 1900 are converted. The fields tm.tm_wday, tm.tm_yday and tm.tm_isdst are not used.

date_to_tm() does the reverse. It only fills the fields tm_sec, tm_min, tm_hour, tm_year, tm_day, tm_mon. Dates before January 1st 1900 are not supported. dwFlags should be 0, DATE_TIMEVALUEONLY to omit the date information or DATE_DATEVALUEONLY to omit time information. Whereas the tm.tm_year field usually holds the number of years since 1900, this function provides the complete year.


Both functions return FALSE on encountering an invalid value or year earlier than 1900, or TRUE if successful.