1

だから私は現在使用しています

my $date = DateTime->now->mdy;

「09-10-2013」の形式が得られます

それから私は使った

my $modTime = localtime((stat($some_file))[9]);

「Tue Sep 10 15:29:29 2013」の形式で日付が表示されます

$modTime を $date のような形式にフォーマットする perl に組み込まれた方法はありますか? または手動で行う必要がありますか?

ありがとう!

4

3 に答える 3

3

「手動」の意味にもよりますが、いくつかの短い手順で実行できます。

# demo.
# Put the whole local time/stat/etc in parentheses where I put localtime.
#
($m,$d,$y) = (localtime)[4,3,5];   # extract date fields using a list slice
$modtime = sprintf('%02d-%02d-%4d', $m+1, $d, $y+1900); # format the string

おそらく、抽出とより複雑なフォーマット文字列の両方を組み込んで 1 行で行う方法がありますが、それは不必要な難読化につながります。

-トム・ウィリアムズ

于 2013-09-11T01:55:29.107 に答える
1

回答が遅れましたが、 from_epoch ( ) を使用する良い回答が既に見られましたDateTime->from_epoch(epoch => $epoch);strftime次のようなPOSIX の関数を使用することもできます。print strftime "%m-%d-%Y", localtime( ( stat $some_file )[9] );

于 2013-09-11T19:03:11.600 に答える