我已经非常努力地使用 Perl 正则表达式找到这种特定转换(这些日期格式)的示例,但无济于事。有人可以帮我在这些格式之间转换日期吗?
Dec 26 2012 12:00AM ==> 201212126
以下是我最初的尝试,但运行速度太慢(显然,我使用 substr 5 次,这太荒谬了)。
# Format the input time to yyyymmdd from 'Dec 26 2012 12:00AM' like format.
sub formatTime($)
{
#Get passed in value of format 'Dec 26 2012 12:00AM'.
my $col = shift;
if (substr($col, 4, 1) eq " "){
substr($col, 4, 1) = "0";
}
return substr($col, 7, 4).$months{substr($col, 0, 3)}.substr($col, 4, 2);
}
注意:这是为了工作,用于将输入文件转换为非常大的数据库摄取,不幸的是,python 在平台上不受支持,这是我选择的脚本语言。我尝试制作自己的 Perl 正则表达式,但我只是没有时间在做其他部分时阅读并弄清楚它。昨天我已经浪费了大部分时间来编写 Perl 脚本并在其余部分中快速学习,这种转换只是花了我太长时间。