localtime returns GMT for windows programs running on cygwin shells
===

Consider the following code:

    time_t t;
    t = time( NULL );
    elog << "timezone: " << getenv( "TZ" ) << ", current local time: " << asctime( localtime( &t ));
    mTime = t + deltaTime;

If I build this code using MSVC, and run it under the windows DOS shell, I get the correct local time:

    timezone: , current local time: Wed Jul 25 13:05:08 2012

But if I run the same program under a cygwin shell like bash, this code returns GMT!

    timezone: America/New_York, current local time: Wed Jul 25 18:05:08 2012

If I run this program in Linux or OsX, it also returns the correct local time.

Why?
