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>
