in reply to Convert GMT timestamp to EST/EDT
Time::Local is ancient and included in the Perl core:
#!/usr/bin/perl -w use strict; use Time::Local 'timegm'; my $stamp = '20150619-17:30:43.616'; my @nn = $stamp =~ /([.][0-9]+|[0-9]{2})/g; my $f = pop @nn; # Fractional seconds my $cc = shift @nn; # Century my $yy = shift @nn; # Year $nn[0] -= 1; # Make month 0-based (ugh) unshift @nn, "$cc$yy"; # Put 4-digit year back in front. $ENV{TZ} = "US/Eastern"; @nn = localtime( timegm( reverse @nn ) ); $nn[4]++; # Make month 1-based (ugh) $nn[5] += 1900; # (ugh) $stamp = sprintf "%d%02d%02d-%02d:%02d:%02d%s", @nn[reverse 0..5], $f; print "$stamp\n"; __END__ 20150619-13:30:43.616
- tye
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Convert GMT timestamp to EST/EDT (Time::Local + Time::Piece)
by Anonymous Monk on Jul 27, 2015 at 07:18 UTC | |
by ikegami (Patriarch) on Jul 28, 2015 at 18:39 UTC | |
by Your Mother (Archbishop) on Jul 28, 2015 at 19:26 UTC | |
by ikegami (Patriarch) on Jul 28, 2015 at 20:03 UTC | |
by jellisii2 (Hermit) on Jul 27, 2015 at 13:27 UTC | |
|
Re^2: Convert GMT timestamp to EST/EDT (Time::Local)
by gtk (Acolyte) on Jul 27, 2015 at 06:11 UTC |