Date: Mon, 18 May 1998 13:12:31 PDT From: "Marty Leisner" <leisner@sdsp.mc.xerox.com> To: Cliff Addy <fbsdlist@federation.addy.com> Cc: questions@FreeBSD.ORG Subject: Re: Year 2038 or 2106? Message-ID: <9805182012.AA12715@gnu.sdsp.mc.xerox.com> In-Reply-To: Your message of "Mon, 18 May 1998 10:47:00 PDT." <Pine.BSF.3.95q.980518133734.23393A-100000@federation.addy.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <Pine.BSF.3.95q.980518133734.23393A-100000@federation.addy.com>, y ou write: >I'd always read that fbsd was good until at least 2038, as far as >date/time computations, since the time is stored as a 32-bit integer of >seconds since the Jan 1, 1970. > >Just on a whim, I decided to check this. I took 2^32/60/60/24/365 and >added that to 1970. Now, I know I didn't account for leap years, but I >still come out to the 2106, not 2038. I always assumed that an *unsigned* >integer was used, if I use a signed integer I get 2^31/60/60/24/365 plus >1970 which *does* yield 2038. > >So, I guess my questions are: Is the date an unsigned or signed integer? >If signed, why? If unsigned, why isn't the "date of death" 2106? Or did >I just completely misunderstand or miscalculate? > >Too much time on my hands ... > >Cliff > > Probably because -1 is an error value: >From glibc: - Function: time_t time (time_t *RESULT) The `time' function returns the current time as a value of type `time_t'. If the argument RESULT is not a null pointer, the time value is also stored in `*RESULT'. If the calendar time is not available, the value `(time_t)(-1)' is returned. - Data Type: time_t This is the data type used to represent calendar time. In the GNU C library and other POSIX-compliant implementations, `time_t' is equivalent to `long int'. When interpreted as an absolute time value, it represents the number of seconds elapsed since 00:00:00 on January 1, 1970, Coordinated Universal Time. (This date is sometimes referred to as the "epoch".) In other systems, `time_t' might be either an integer or floating-point type. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9805182012.AA12715>