#!/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