On Thu, Nov 3, 2016 at 1:29 PM, Charles Mills <[email protected]> wrote:
> I am supporting a customer in Europe. They are reporting that the > timestamps > in our messages -- which are produced from the C library routines > gettimeofday64() + localtime64() -- were correct during the summer but did > not change to standard time this past weekend. TZ is apparently set to > 'CET-1CEST' (without the quotes). > > What should I be looking for? > > Thanks, > > Charles > > I don't have a way to test this readily, but reading about gettimeofday64() from http://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.bpxbd00/gettmdy.htm it appears that gettimeofday64() does not do a tzset() automatically (whereas gettimeofday does, but if and only if _ALL_SOURCE is #DEFINEd). For localtime64(), from http://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.bpxbd00/localt.htm If your application runs POSIX(ON), then it should honor TZ. But if it run POSIX(OFF), then _TZ (leading underscore) is required. also: [quote] The localtime() function converts calendar time (that is, seconds elapsed since the epoch) to broken-down time, expressed as local time, using time zone information provided by the TZ or _TZ environment variable or the LC_TOD category of the current locale: - When neither TZ nor _TZ is defined, the current locale is interrogated for time zone information. If neither TZ nor _TZ is defined and LC_TOD time zone information is not present in the current locale, a default value is applied to local time. POSIX programs simply default to Coordinated Universal Time (UTC), while non-POSIX programs establish an offset from UTC based on the setting of the system clock. For more information about customizing a time zone to work with local time, see “Customizing a time zone” in z/OS XL C/C++ Programming Guide <http://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.cbcpx01/cbc1p200.htm?view=kc> . [quote/] Perhaps your code needs to an explicit tzset() before invoking gettimeofday64() or localtime64(), but I don't really know. -- Heisenberg may have been here. Unicode: http://xkcd.com/1726/ Maranatha! <>< John McKown ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
