$ENV{'TZ'} = 'America/Los_Angeles';
my $epoch = timelocal(42,07,10,19,05,2017);
print "timelocal epoch: $epoch\n";
print "timelocal date: ", scalar localtime($epoch), "\n";
####
timelocal epoch: 1497892062
timelocal date: Mon Jun 19 10:07:42 2017
##
##
#!/usr/bin/env perl
use strict;
use warnings;
use Time::Local;
use Time::Piece;
$ENV{'TZ'} = 'America/Los_Angeles';
my $datestr = '2017-06-19 10:07:42';
my $gmt = Time::Piece->strptime($datestr, '%Y-%m-%d %H:%M:%S');
my $local = localtime($gmt->epoch);
print "gmt epoch: ", $gmt->epoch, "\n",
"local epoch: ", $local->epoch, "\n",
"datestr: $datestr\n",
"T::P gmt strftime: ", $gmt->strftime, "\n",
"T::P local strftime: ", $local->strftime, "\n"
;
##
##
gmt epoch: 1497866862
local epoch: 1497866862
datestr: 2017-06-19 10:07:42
T::P gmt strftime: Mon, 19 Jun 2017 10:07:42 UTC
T::P local strftime: Mon, 19 Jun 2017 03:07:42 PDT