在Perl 中, 不安装其他模组的状况下, 可以使用 localtime 来获取当地日期和时间。
在标量上下文中, 返回的是字符串格式。
my $localtime = localtime();
print "\n$localtime\n";
返回:
Thu Jan 1 18:17:56 2015
在列表上下文中, 返回的是描述当前时间的一个元素列表
my ($sec,$min,$hour,$mday,$mon,$year_off,$wday,$yday,$isdat) = localtime();
所以通过这种方式获得的日期:
年份需要加 1900: $year += 1900;
月份需要加一 : $mon += 1;
得到当前日期:
sub get_current_day
{
my($sec,$min,$hour,$day,$mon,$year) = localtime();
$mon++;$year += 1900;
my $data_now = sprintf("%04d/%02d/%02d",$year,$mon,$day);
return $data_now;
}
正确的是 时间减去 86400秒(24 小时)
sub get_last_day
{
my($sec,$min,$hour,$day,$mon,$year) = localtime(time()-86400);
$mon++;$year += 1900;
my $data_now = sprintf("%04d/%02d/%02d",$year,$mon,$day);
return $data_now;
}
sub get_last_number_day
{
my($lastNumber) = @_;
my($sec,$min,$hour,$day,$mon,$year) = localtime(time()-86400*$lastNumber);
$mon++;$year += 1900;
my $data_now = sprintf("%04d/%02d/%02d",$year,$mon,$day);
return $data_now;
}