Package: libc6
Version: 2.11.2-10

Hi,

When use time from gmtime_r() and strftime() in local (non UTC) timezone 
strftime
is able to recognize timezone (UTC) of time in tm, but %s ("the number of 
seconds
since the Epoch") is wrong (as though tm was in the local timezone).

Best regards,
Robert Paciorek
http://www.opcode.eu.org/bercik


-- Step to reproduce:

following code:

#include <time.h>
#include <stdio.h>

main() {
        time_t t = 0;
        struct tm tt;
        char buf[40];

        puts("using strftime and %s from gmtime_r time in non UTC timezone");
        setenv("TZ", "CET");
        gmtime_r(&t, &tt);
        strftime(buf, 35, "\t%s TZ: %z %Z", &tt);
        puts(buf);
        puts("the number of seconds since the Epoch is wrong. Should be 0.");
        puts("strftime knows that tt is in UTC (GMT), " \
                "but %s interprets in enviroment TZ (CET)\n");

        puts("using strftime and %s from gmtime_r time in UTC timezone");
        setenv("TZ", "UTC");
        strftime(buf, 35, "\t%s TZ: %z %Z", &tt);
        puts(buf);
        puts("the number of seconds since the Epoch is correct.");
}

produces outputs:

using strftime and %s from gmtime_r time in non UTC timezone
        -3600 TZ: +0000 GMT
the number of seconds since the Epoch is wrong. Should be 0.
strftime knows that tt is in UTC (GMT), but %s interprets in enviroment TZ (CET)

using strftime and %s from gmtime_r time in UTC timezone
        0 TZ: +0000 GMT
the number of seconds since the Epoch is correct.


-- System Information:
Debian Release: 6.0.1
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/32 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8
Shell: /bin/sh linked to /bin/dash

Versions of packages libc6 depends on:
ii  libc-bin                      2.11.2-10  Embedded GNU C Library: Binaries
ii  libgcc1                       1:4.4.5-8  GCC support library

libc6 recommends no packages.

Versions of packages libc6 suggests:
ii  debconf [debconf-2.0]         1.5.36.1   Debian configuration management sy
pn  glibc-doc                     <none>     (no description available)
ii  locales                       2.11.2-10  Embedded GNU C Library: National L

-- debconf information:
  glibc/upgrade: true
  glibc/restart-services:
  glibc/disable-screensaver:
  glibc/restart-failed:



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to