Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl/regex日期格式转换_Regex_Perl_Datetime - Fatal编程技术网

Perl/regex日期格式转换

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长期以来一直是一个核心

我正在尝试转换一个日期格式的字符串,例如'Aug 12/11'。。至“YYYY-MM-DD”,在本例中为“2011-08-12”


对于这种转换,最好使用什么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`