Perl/regex日期格式转换
我正在尝试转换一个日期格式的字符串,例如'Aug 12/11'。。至“YYYY-MM-DD”,在本例中为“2011-08-12”Perl/regex日期格式转换,regex,perl,datetime,Regex,Perl,Datetime,我正在尝试转换一个日期格式的字符串,例如'Aug 12/11'。。至“YYYY-MM-DD”,在本例中为“2011-08-12” 对于这种转换,最好使用什么perl/regex?我可以通过解析每一个并手动转换来实现。。但是我猜有一种更快的方法可以用perl/regex实现。谢谢。我建议您不要自己对这样的日期进行任何解析,尤其是尝试生成一个或两个正则表达式。有很多现有的perl模块可以实现这一点,例如Date::Manip。您的许多选项都被合理地涵盖了。Time::Piece长期以来一直是一个核心
对于这种转换,最好使用什么perl/regex?我可以通过解析每一个并手动转换来实现。。但是我猜有一种更快的方法可以用perl/regex实现。谢谢。我建议您不要自己对这样的日期进行任何解析,尤其是尝试生成一个或两个正则表达式。有很多现有的perl模块可以实现这一点,例如
Date::Manip
。您的许多选项都被合理地涵盖了。Time::Piece长期以来一直是一个核心模块,它确实能够将字符串解析为Time::Piece对象,然后它可以为您设置1000万种不同格式的格式。如果没有安装Time::Piece,您可以尝试查找cpan上列出的其他数百个日期时间模块。(使用一行代码:perl-e“use Module::IHope::isher | | die'notfound\”)
如果失败,我将开始在我的主目录中安装模块 +1表示日期::Manip。最好使用专门设计的库,而不是自己尝试覆盖所有边缘情况。My webhost没有Date::Manip,我没有安装此模块的权限:(…这就是我寻找正则表达式解决方案的原因。@sim您安装了DateTime吗?@simbatish,安装模块不需要特殊权限。模块可以安装到任何目录。
`Time::Piece->strptime(STRING, FORMAT)
# see strptime man page. Creates a new
# Time::Piece object`