PhysioNet: Statement of Y2K Compliance

PhysioBank databases consist of recorded physiologic data and annotations. In all cases in which dates are recorded (in the header files of some, but not all, PhysioBank databases), they are recorded as text strings in the form DD/MM/YYYY (i.e., with 4-digit years).

All date calculations performed by PhysioToolkit software are done using two functions (strdat and datstr) defined in signal.c in the WFDB library. These functions convert text string dates (in DD/MM/YYYY format) into 32-bit Julian dates and vice versa. In accordance with the standard definition of Julian dates, text strings corresponding to dates up to and including 04/10/1582 are dates in the Julian calendar; all later dates are Gregorian calendar dates. Thus the date immediately following 4 October 1582 (Julian day 2299160) is 15 October 1582 (Julian day 2299161). Note that Julian dates as used by astronomers are supposed to begin at noon GMT (UTC), but these begin at midnight local time.

Since the functions are provided in C source form, their behavior depends on your C compiler. Using the free GNU C compiler (under Linux, SunOS, Solaris, or MS-DOS), these functions work properly for dates between 1 January 4713 B.C. (Julian day 0) and 31 December 99999 (Julian day 38245309). If your C compiler treats int variables as 16-bit quantities, these functions work properly for dates between 1 January 4713 B.C. and 29 February 28052 (Julian day 11966902), still comfortably Y2K-compliant (and Y10K-compliant, for that matter).


This document is designated as a "Year 2000 Readiness Disclosure" as defined in the Year 2000 Information and Readiness Disclosure Act of 1998 (Public Law 105-271, 112 Stat. 2386).