0
我需要一些帮助,试图找出如何在perl中格式化日期。我有一个工作perl脚本,用正则表达式,如果我使用硬编码的日期字符串像这样的正常工作:perl帮助找到正确的日期格式
my $mon = 'Aug';
my $day = '05';
my $year = '2010';
这些增值经销商在正则表达式中使用这样的:
if ($line =~ m/(.* $mon $day) \d{2}:\d{2}:\d{2} $year: ([^:]+):backup:/)
现在,我需要自动化这段代码的日期部分,并系统地使用当前日期。 我看着perl本地时间,并尝试使用unix日期并将它们放入变量。 我需要让星期几,单个数字填充'0'。就像今天'Aug''05' '2010'一样,因为我用于正则表达式的输入文件具有这样的日期。
我的第二次尝试与UNIX和格式化返回的数字,但我需要他们是字符串:
my $mon2=`date '+%b'`;
my $day2=`date '+%d'`;
my $year2=`date '+%Y'`;
与日期格式播放我的测试代码:
#!/usr/local/bin/perl -w
use strict;
my $mon = 'Aug';
my $day = '05';
my $year = '2010';
my $mon2=`date '+%b'`;
my $day2=`date '+%d'`;
my $year2=`date '+%Y'`;
print "$mon";
print "$day";
print "$year";
print "$mon2";
print "$day2";
print "$year2";
我的输出:
Aug052010Aug
05
2010
如果你不想安装日期时间由于某种原因(尽管它的真棒)你可以在标准的'POSIX'模块中使用'strftime'函数。 – friedo 2010-08-06 00:30:46
谢谢你们!非常有用的信息。 – jdamae 2010-08-06 01:55:20