Hello
znoopy,
I think the time zone at the end of the string, -07:00, means this time zone is 7 hours behind (or to the West) of UTC. Then you would need to add the 7 to the hours (giving
2011-04-26 00:07:19)???
#!/usr/bin/perl
use strict;
use warnings;
use 5.012;
use DateTime::Format::Strptime;
(my $str = "2011-04-25T17:07:19-07:00") =~ s/:(\d\d)\z/$1/;
my( @strp ) = (
DateTime::Format::Strptime->new( pattern => '%FT%T%z', ),
DateTime::Format::Strptime->new( pattern => '%F %T', )
);
my $date = $strp[0]->parse_datetime( $str ) or die "Cannot parse $str.
+ $!";
say $strp[1]->format_datetime( $date->set_time_zone('UTC') );
__END__
C:\Old_Data\perlp>perl t3.pl
2011-04-26 00:07:19