我正在尝试将dateformat中的字符串(例如'Aug 12/11'...)转换为'YYYY-MM-DD',在此示例中为'2011-08-12'。
用于此转换的最佳perl / regex是什么?我能够通过解析每个并手动转换它来做到这一点..但我猜有一个更快的方法来做perl /正则表达式。感谢。
答案 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`
如果失败,我将开始在我的主目录中安装模块。