Re: Equivalent of Linux timezone in FreeBSD
- In reply to: Stephen Montgomery-Smith : "Re: Equivalent of Linux timezone in FreeBSD"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 28 Oct 2022 21:56:19 UTC
On 10/28/22 16:34, Stephen Montgomery-Smith wrote: > On 10/28/22 00:55, Thomas Mueller wrote: >> On Thu, 27 Oct 2022 13:32:55 -0600, Warner Losh wrote: >>> On Thu, Oct 27, 2022 at 1:26 PM Stephen Montgomery-Smith < >>> montgomerysmithstephen@gmail.com> wrote: >>> >>>> I am attempting to port code that uses an external variable called >>>> timezone, which is defined in the Linux file time.h as the number of >>>> seconds West of UTC for the current timezone. >>> > >> >> The timezone variable is part of the POSIX XSI option (X/Open System >> Interfaces). As mentioned in the original post it contains the number >> of seconds West of UTC for the current timezone. >> >> Excerpt from the standard text for tzset(): >> #include <time.h> >> [XSI] extern int daylight; >> extern long timezone; >> [CX] extern char *tzname[2]; >> void tzset(void); >> [...] >> [XSI] The tzset() function also shall set the external variable >> daylight to 0 if Daylight Savings Time conversions should >> never be >> applied for the timezone in use; otherwise, non-zero. The >> external >> variable timezone shall be set to the difference, in seconds, >> between >> Coordinated Universal Time (UTC) and local standard time. >> >> I suppose FreeBSD's tm_gmtoff field in "struct tm" is an equivalent. >> > > Excellent. I replaced timezone with localtime(0)->tm_gmtoff. > > Thank you very much. Oops, I meant localtime(&zero)->tm_gmtoff, where zero is of type time_t.