我想用一种简单的方法将昨天的日期(本地时间)作为Perl脚本中的字符串.最好,我想这样做没有模块依赖,因为我们有一个简单的Perl 5.12安装.
所以,像:
my $yesterdays_date=...; # Puts for example '301011' into $yesterdays_date,# if today is October 31st,2011
解决方法
Time::Piece
是核心:
use Time::Piece; use Time::Seconds qw(ONE_DAY); my $yesterday = localtime() - ONE_DAY(); print $yesterday->strftime('%d%m%y'),"\n";
如果您担心夏令时,可以将当前时间标准化到中午附近:
use Time::Piece; use Time::Seconds qw(ONE_DAY ONE_HOUR); my $today = localtime; my $yesterday = $today + ONE_HOUR * ( 12 - $today->hour ) - ONE_DAY; print $yesterday->strftime("%d%m%y"),"\n";
如果你可以使用依赖项,那么使用DateTime
:
use DateTime; print DateTime->now->subtract(days => 1)->strftime('%d%m%y'),"\n";