我想用一种特定的格式计算一周前的日期,并将其放入变量中。例如,今天是Nov 21st. 2014
,我想打印出来:上周是2014-11-14
。
我知道我们可以使用Date::Calc
模块,但我不知道如何。
答案 0 :(得分:7)
检查Time::Piece
和Time::Seconds
核心模块,
use Time::Piece;
use Time::Seconds;
my $t = localtime() - ONE_WEEK;
print $t->ymd;
输出
2014-11-14
答案 1 :(得分:3)
use DateTime;
my $now = DateTime->now(time_zone => 'local')->subtract(weeks => 1);
print $now->ymd, ' ',$now->hms;
使用Date :: Calc模块
可以减去7天而不是一周use Date::Calc qw(Add_Delta_Days);
my @date = Add_Delta_Days( 2014, 11, 21, -7 );
print join('-', @date);
OUTPUT
2014-11-14
答案 2 :(得分:1)
use Date::Manip;
my $today = ParseDate("today");
my $weeksago = DateCalc($today,"-7d");
答案 3 :(得分:1)
为什么不从本地时间的“mday”字段中减去X天?这个例子显示从八月底开始减去60天。我不确定是谁纠正了这个月,但我认为我得到了正确答案......
Saureus08BA02176_01020 NA 324.08332
Saureus08BA02176_01131 NA 999.00000
Saureus08BA02176_01302 COG3763 S NA
Saureus08BA02176_01834 COG0744 M NA
Saureus08BA02176_02020 COG1854 T NA
Saureus08BA02176_02481 COG0579 R 4.07781
Saureus08BA02176_02495 COG1510 K NA