Hello,

I walked into a strange problem.

The variable timezone doesn't seem to work right. It should give
the timedifference between GMT and the local timezone.

I live in Amsterdam, so the difference should be (-)3600 seconds.
But timezone tells me the difference is -1168 seconds, or about
19 minutes! Bit strange, isn't it?

I use Debian Hamm, so my Linux is not that old. I can reproduce this
on two Hamm-computers, installed by different people.

Here's the code:

// timetest.c

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

main() {
        time_t t;

        t = time( NULL );       // dummy instruction for localtime()
        localtime( &t );        // sets tzname and timezone 

        printf( "tzname=[%s,%s]\n", tzname[0], tzname[1] );
        printf( "timezone=%ld\n", timezone );
}

And this is the output:

tzname=[CET,CEST]
timezone=-1168

tzname Is correct, but timezone is not.

Can anybody explain this? Is this a bug in glibc or something?

Thanx,
Edwin Martin.


---
        The world is moving so fast these days
        that the person who says it can't be done
        is generally interrupted by someone doing it.
                        -- Harry Emerson Fosdick

Reply via email to