1
我想显示使用Time::Piece
昨天’的日期和超载字串和算术运算象下面这样:时间::片显示昨天的日期
use strict;
use warnings;
use feature qw(say);
use Time::Piece;
use Time::Seconds;
say " Today is " . localtime;
say "Yesterday is " . localtime - ONE_DAY;
Today is Mon Sep 22 15:09:00 2014
Yesterday is Tue Dec 30 16:00:00 1969
然而,随着可以观察,今日’的日期有效,但昨天’ s是在时代周围。
一种解决方案是通过在做数学之前创建一个变量$today - ONE_DAY
。如所期望
Yesterday is 1969-12-30
Yesterday is 1969-12-30
Yesterday is 2014-09-21
Yesterday is 2014-09-21
的第三和上述工作第四方法:此外,以下其他格式揭示的更多信息:
my $fmt = '%Y-%m-%d';
say "Yesterday is ", (localtime - ONE_DAY )->strftime($fmt);
say "Yesterday is ", (+localtime - ONE_DAY )->strftime($fmt);
say "Yesterday is ", (scalar(localtime) - ONE_DAY)->strftime($fmt);
say "Yesterday is ", (- ONE_DAY + localtime )->strftime($fmt);
那么’的交易?