Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Reading a timestamp and getting the written value

by haukex (Archbishop)
on Sep 03, 2022 at 15:51 UTC ( [id://11146663]=note: print w/replies, xml ) Need Help??


in reply to [Solved] Reading a timestamp and getting the written value

my $fmt = '%d %b %Y %T %Z';

Don't use %Z as it may produce ambiguous time zone names like CST ("Central Standard Time", "China Standard Time", "Cuba Standard Time", ...), and as you can tell Time::Piece's strptime can't handle parsing its own output. Personally, I usually use DateTime::Format::Strptime for parsing, but AFAICT Time::Piece works with %z as well.

use warnings; use strict; use Time::Piece; my $fmt = '%d %b %Y %T %z'; # %z instead of %Z appears to work my $str = localtime->strftime($fmt); print $str, "\n"; my $strtime = Time::Piece->strptime($str, $fmt); print $strtime->strftime($fmt), "\n";
use warnings; use strict; use DateTime; use DateTime::Format::Strptime; my $fmt = '%d %b %Y %T %z'; my $strp = DateTime::Format::Strptime->new( on_error=>'croak', pattern=>$fmt ); my $dt = DateTime->now; $dt->set_time_zone('America/Chicago'); # try this with "%Z"... print $dt->rfc3339, "\n"; my $str = $dt->strftime($fmt); print "$str\n"; my $dt2 = $strp->parse_datetime($str); print $dt2->rfc3339, "\n";

Replies are listed 'Best First'.
Re^2: Reading a timestamp and getting the written value
by davies (Prior) on Sep 03, 2022 at 16:13 UTC

    Thank you; your DateTime incantations work perfectly. I was aware of the issue of ambiguous time zones, but was hoping the longer form output by Time::Piece might work. I can confirm that I have retried the capitalisation of "z" and Time::Piece remains insensitive while DateTime works as expected. It may be a function of Windows 2019 server or Strawberry (This is perl 5, version 32, subversion 1 (v5.32.1) built for MSWin32-x64-multi-thread), but with your fix I'm not investigating further.

    Regards,

    John Davies

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11146663]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (4)
As of 2024-04-25 16:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found