Perlスクリプトを書くときに、YYYY-mm-dd HH:MM:SS
(たとえば、2009-11-29 14:28:29
)という形式の文字列で表される現在の時刻を取得する必要があることがよくあります。これを行うにはPerlでYYYY-mm-dd HH:MM:SSに素早く到達する
私自身は、この非常に面倒なパス取っ見つける:localtimeのを検索するために
man perlfunc
/localtime
を - manページ の関連セクションに到達するために5回(
- 文字列
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
をマンページから私のスクリプトにコピーします。 - お試しください
- 覚えておいてください。#1:現在の年を取得するには、1900〜$ yearを追加する必要があります。
- お試しください
my $now = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $year+1900, $mon, $mday, $hour, $min, $sec);
- 覚えておいてください。#2:現在の月を取得するには1ドルを$ monに追加する必要があります。
- お試しください
my $now = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $year+1900, $mon+1, $mday, $hour, $min, $sec);
- 完了!
/
+
\n
)を繰り返し
上記のプロセスは機能しますが、それは最適ではありません。私はよりスマートな方法があると確信していますので、私の質問は簡単です:
Perlで現在の日付/時刻のYYYY-mm-dd HH:MM:SS
を取得する最も簡単な方法はありますか?
ここで、「簡単」には、「書きやすい」と「覚えやすい」の両方が含まれます。標準POSIX
モジュールで
ますperlfuncを検索し、あなたのための邪魔を覚えているサブルーチンを書いていたはずです! – AmbroseChapel