my $datestr = '2015-04-16T16:55:19Z'; # Important! Time::Piece does not know whort timezone name Z; # replace short Z (=UTC, Zulu time) with numeric TZ offset $datestr =~ s/Z$/+0000/; my $t = Time::Piece->strptime($datestr, '%Y-%m-%dT%H:%M:%S%z');