我有一组以下列格式表示日期时间的字符串:
1/30/2017 10:46:13 AM
我想对它们进行排序,因此我尝试将它们转换为实际日期,如下所示:
my $format = "%m/%d/%Y %H:%M:%S";
my $date1= Time::Piece->strptime($the_date_string, $format );
它在解析时出错。我怎样才能做到这一点?
答案 0 :(得分:7)
运行代码时出现的错误是
strptime中字符串末尾的垃圾:AM
您错过了字符串中AM
的{{3}}。将%p
添加到模式,该模式解析 ante meridiem 或 post meridiem 的本地表示。在您的情况下,那是 AM 和 PM 。
my $format = "%m/%d/%Y %H:%M:%S %p";
my $date1= Time::Piece->strptime('1/30/2017 10:46:13 AM', $format );