On some systems value of TZ is cached by functions and we have to call POSIX::tzset to flush the cahce.