======================================================================== typedef ... time_t This is the system defined time type which is usually the number of seconds since midnight beginning 1 January 1970. typedef ... eday_t Number of days since the Julian Epoch, which is: In the Gregorian proleptic calendar: Monday 24 November 4714 BC In the Julian proleptic calendar: Monday 1 January 4713 BC typedef ... etime_t Number of microseconds since midnight beginning the Julian Epoch. typedef ... time64_t Same as time_t except is always at least 64 bits in size. typedef ... timems_t Number of milliseconds since the same epoch as time_t. typedef ... timeus_t Number of microseconds since the same epoch as time_t. typedef ... timens_t Number of nanoseconds since the same epoch as time_t. typedef double JD; typedef long double LJD; The Julian Date, defined as a floating point type value with an epoch of noon on the day of the Julian Epoch. typedef ... ecal_t This is a struct that contains these members: type flag indicating whether Gregorian or Julian isleap true if this is a leap year year year as an absolute value, e.g. 2000 month month 1..12 yday day of year 0..365 mday day of month 1..31 wday day of week 1..7 week week of year 0..53 hour hour of day 0..23 min minute of hours 0..59 sec second of minute 0..59 nsec nanosecond of minute 0..999999999 typedef ... xday_t Number of days since 18 Sept 763 in the Gregorian proleptic calendar. The usefulness of this value is that from 16 Nov 1858 to 14 Aug 3501, the value is in the range 400000 to 999999 which allows it to be used in places where dates are stored as six characters, and allowing them to be distinguished from the common MMDDYY format by testing the first character to see if it is in the range '4' to '9'. Or the test can be done by testing only if the first character is '4' which limits the range to 30 August 2132. This scheme was invented by Bob Bemer. ========================================================================