============================================================================= jday "Julian Day" This is a floating point number with an astronomical standard epoch, and is commonly used in ephemeral calculations in astronomy, astronautics, and geodesy. Arithmetic in IEEE 64-bit format (double) gives a resolution of about 40.2331352234 microseconds. In IEEE 80-bit format (long double on Intel x86) it gives a resolution of about 19.6450855583 nanoseconds. The Julian Day was established for astronomical purposes and is numbered so that the whole portion remains the same through a single night at the Greenwich meridian. This results in a fraction of .5 for noon of a civil day. The epoch for the Julian Day was decided to be noon on 1 January in the year 4713 B.C. (or -4712 in signed year numbering), relative to the Julian proleptic (extended backwards before its creation) calendar. This corresponds to 24 November in the prior year (4714 B.C. or -4713) in the Gregorian proleptic calendar. The Julian Day at midnight on 1 January 2000 is 2451544.5. At noon of that same day it is 2451545.0. The value zero (epoch) represents: -4713/11/24.12:00:00.000000000 ============================================================================= cjday "Civil Julian Day" This is a simple civil variation of the Julian Day, retaining the original epoch date, but shifting the epoch to midnight of the start of the day, instead of noon. The value 0.5 can be added to the Julian Day to obtain the Civil Julian Day. The value zero (epoch) represents: -4713/11/24.00:00:00.000000000 ============================================================================= mjday "Modified Julian Day" In order to reduce the number of digits, providing for better use of limited calculation speed and resolution in early calculators and computers, and to adjust for civil time scales, the Modified Julian Day was created. It is the Julian Day minus 2400000.5 and is expressed with "MJD" as a designator, usually in column headers of tables. Arithmetic in IEEE 64-bit format (double) gives a resolution of about 628.642737865 nanoseconds. In IEEE 80-bit format (long double on Intel x86) it gives a resolution of about 306.954461848 picoseconds. The increased resolution over the Julian Day comes about as a result of 6 fewer bits used in the mantissa to represent the whole (day) portion of the number. Early computers had less resolution and speed than today's computers, so this gain was precious. The Modified Julian Day at midnight on 1 January 2000 is 51544.0. At noon of that same day it is 51544.5. The value zero (epoch) represents: 1858/11/16.00:00:00.000000000 The value 65535.0 represents: 2038/04/21.00:00:00.000000000 The value 99999.0 represents: 2132/08/30.00:00:00.000000000 The value 999999.0 represents: 4596/10/11.00:00:00.000000000 ============================================================================= etime (etime_t) "Earth Time" This is a 64 bit unsigned integer number with an epoch based on the Whole Julian Day, with microsecond resolution. The value zero (epoch) represents: -4713/11/24.00:00:00.000000000 The largest positive value represents: 579841/12/12.08:01:49.551615000 ============================================================================= eday (eday_t) "Earth Day" This is a 32 bit signed integer number with an epoch based on the Julian day system, with a day resolution. The smallest negative value represents: -5884323/05/15 (Saturday) The value zero (epoch) represents: -4713/11/24 (Monday) The largest positive value represents: 5874898/06/03 (Tuesday) ============================================================================= struct timeval This is a structure type, usually referenced via a pointer, used with many UNIX system calls such as gettimeofday() and setitimer(). It contains two members, tv_sec and tv_usec, representing the whole seconds and partial microseconds of the current time. Normal form limits the value of tv_usec to a positive integer from 0 to 999999. The smallest negative value represents: 1901/12/13.20:45:52.000000000 The value zero (epoch) represents: 1970/01/01.00:00:00.000000000 The largest positive value represents: 2038/01/19.03:14:07.999999000 ============================================================================= struct timespec This is a structure type, usually referenced via a pointer, used in one or a few UNIX system calls. I know only of nanosleep(). It contains two members, tv_sec and tv_nsec, representing the whole seconds and partial nanoseconds of the current time. Normal form limits the value of tv_nsec to a positive integer from 0 to 999999999. The smallest negative value represents: 1901/12/13.20:45:52.000000000 The value zero (epoch) represents: 1970/01/01.00:00:00.000000000 The largest positive value represents: 2038/01/19.03:14:07.999999999 ============================================================================= time_t This is a signed integer value, usually represented in 32 bits, used in some UNIX system calls like time() and C library calls like ctime(). Its value is the number of seconds after the system standard epoch date. The smallest negative value represents: 1901/12/13.20:45:52.000000000 The value zero (epoch) represents: 1970/01/01.00:00:00.000000000 The largest positive value represents: 2038/01/19.03:14:07.000000000 ============================================================================= msec (of system time) This is a 64 bit signed integer value which mimics the system time extended to a resolution of milliseconds in a whole integer. This is not a standard but is adopted in the libh library time section for convenience, especially convenience in quick arithmetic. The smallest negative value represents: some date/time in year -292272314 The value zero (epoch) represents: 1970/01/01.00:00:00.000000000 The largest positive value represents: some date/time in year 292281736 ============================================================================= usec (of system time) This is a 64 bit signed integer value which mimics the system time extended to a resolution of microseconds in a whole integer. This is not a standard but is adopted in the libh library time section for convenience, especially convenience in quick arithmetic. The smallest negative value represents: some date/time in year -287566 The value zero (epoch) represents: 1970/01/01.00:00:00.000000000 The largest positive value represents: some date/time in year 296989 ============================================================================= nsec (of system time) This is a 64 bit signed integer value which mimics the system time extended to a resolution of nanoseconds in a whole integer. This is not a standard but is adopted in the libh library time section for convenience, especially convenience in quick arithmetic. The smallest negative value represents: 1677/09/21.00:12:43.145224192 The value zero (epoch) represents: 1970/01/01.00:00:00.000000000 The largest positive value represents: 2262/04/11.23:47:16.854775808 =============================================================================