Perl / regex日期格式转换

时间:2011-08-12 22:40:15

标签: regex perl datetime

我正在尝试将dateformat中的字符串(例如'Aug 12/11'...)转换为'YYYY-MM-DD',在此示例中为'2011-08-12'。

用于此转换的最佳perl / regex是什么?我能够通过解析每个并手动转换它来做到这一点..但我猜有一个更快的方法来做perl /正则表达式。感谢。

2 个答案:

答案 0 :(得分:4)

我建议不要自己解析这样的日期,特别是尝试提出一两个正则表达式。有许多现有的perl模块可以执行此操作,例如Date::Manip。您可以合理地涵盖许多选项in this article

答案 1 :(得分:2)

Time :: Piece很长一段时间以来一直是核心模块,它确实能够将字符串解析为Time :: Piece对象,然后它可以以10亿种不同的格式为您格式化。如果未安装Time :: Piece,您可以尝试查找cpan上列出的其他数百个日期时间模块。 (使用一个衬垫:perl -e“使用Module :: IHope :: IsHere || die \'not found \'”。)

`Time::Piece->strptime(STRING, FORMAT)
                        # see strptime man page. Creates a new
                        # Time::Piece object`

如果失败,我将开始在我的主目录中安装模块。