$ perl -MTime::Piece -e '$t = Time::Piece->localtime; print $t->tzoffset . "\n"'
46800
$ perl -MTime::Piece -e '$t = Time::Piece->localtime; print $t->strftime("%z") . "\n"'
+0000
####
/* XXX struct tm on some systems (SunOS4/BSD) contains extra (non POSIX)
* fields for which we don't have Configure support yet:
* char *tm_zone; -- abbreviation of timezone name
* long tm_gmtoff; -- offset from GMT in seconds
* To workaround core dumps from the uninitialised tm_zone we get the
* system to give us a reasonable struct to copy. This fix means that
* strftime uses the tm_zone and tm_gmtoff values returned by
* localtime(time()). That should give the desired result most of the
* time. But probably not always!
*
* This is a temporary workaround to be removed once Configure
* support is added and NETaa14816 is considered in full.
* It does not address tzname aspects of NETaa14816.
*/
####
#if defined(HAS_GNULIBC)
# ifndef STRUCT_TM_HASZONE
# define STRUCT_TM_HASZONE
# else
# define USE_TM_GMTOFF
# endif
#endif