2017-07-27 4 views
0

は、私は次のコードを使用してのcgi-perlで今日の日付を印刷しています:私は正確に7日(1週間)現在の日付の前に正確に日付を印刷する必要がperlで日付を印刷するには?

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = 
       localtime(time); 
       $year = $year + 1900; 
       $mon++; 

       print "$mday/$mon/$year\n"; 

答えて

-1

これはあなたのために機能しますか?

変更

localtime(time); 

localtime(time - (7 * 24 * 3600)); 
+2

にないすべての日が24時間を持っているので、これは実際には6日か8日以前の日付につながる可能性があります。 – ikegami

+0

真ですが、それは1日の定義と1週間の定義に依存します。 – jeff6times7

+0

@ikegami私たちのどちらも、1日と1週間のOPの定義を求めていないので、1つが受け入れられるまで答えを投票するのは時期尚早です。 – jeff6times7

4
use DateTime qw(); 

my $dt = DateTime->now(time_zone => 'local'); 
$dt->subtract(days => 7); 
say $dt->strftime("%d/%m/%Y");