我有一个这样的日期/时间:2015-07-31T13:30:00.000 + 01:00 我想将其转换为使用Perl和时间:: Piece-> strptime如何使用Perl将未知的日期/时间格式转换为正常?
正常的日期和时间这里是我的代码:
sub changeDateFormat {
my ($date, $fromFormat, $toFormat) = (@_);
return Time::Piece->strptime($date, $fromFormat)->strftime($toFormat);
}
召唤:
print changeDateFormat($that_date, '%Y-%m-%dT%H:%M:%S.%N+%z', '%Y:%m:%d');
我认为.000是纳米秒和01.00代表时区。 但给定的代码给出了这样: 错误解析在/usr/lib64/perl5/Time/Piece.pm线470
任何帮助表示赞赏时间。
见['日期时间::格式:: Strptime'](H ttps://metacpan.org/pod/DateTime :: Format :: Strptime)..它同时具有'%N'和'%z' .. –
该格式被称为ISO 8601日历日期和时间扩展格式的区域指示符。 [Time :: Moment-> from_string](https://metacpan.org/pod/distribution/Time-Moment/lib/Time/Moment.pod#from_string)可用于解析它。 – chansen