日付の書式指定


 strftimeを使います。
use POSIX 'strftime';

my $now = strftime "%Y/%m/%d %H:%M:%S", localtime;
print $now, "\n";
 日付だけであればDate::Simpleモジュールでも取得できます。
use Date::Simple;

my $date = Date::Simple->new();
print $date->format('%Y/%m/%d'), "\n";
 使える書式文字列はプラットフォームによって異なります。代表的なものを以下に書いておきます。

書式文字列 意味
%a 現在のロケールにおける曜日の省略名。 Sat
%A 現在のロケールにおける曜日の完全な名前。 Saturday
%b 現在のロケールにおける月の省略名。 Nov
%B 現在のロケールにおける月の完全な名前。 November
%c 現在のロケールにおいて一般的な日付・時刻の表記。 Wed Dec 11 20:53:28 2002
%C 西暦年の上2桁 20
%d 日(01-31)。 11
%D %m/%d/%yと同じ。 12/11/02
%e 日( 1-31)。(1桁の場合10の位は0ではなくスペースになる) 9
%F %Y-%m-%dと同じ。 2002-12-11
%h %bと同じ。 Dec
%H 24時間表記での時(00-23)。 20
%I 12時間表記での時(01-12)。 8
%j 年の初めから通算の日数(001-366)。 345
%k 24時間表記での時(00-23)。(1桁の場合10の位は0ではなくスペースになる) 1
%l 12時間表記での時(01-12)。(1桁の場合10の位は0ではなくスペースになる) 1
%m 月(01-12)。 12
%M 分(00-59)。 57
%n 改行  
%p 現在のロケールにおける「午前」「午後」に相当する文字列。 PM
%P %pと同じですが、小文字。 pm
%s 1970/01/01 00:00:00 UTC からの秒数。 1039607864
%S 秒(00-61)。 44
%t タブ  
%T %H:%M:%Sと同じ。 20:57:44
%u 週の何番目の日か(1-7)。月曜日を1とする。 3
%U 年の初めからの通算の週数(00-53)。その年の最初の日曜日を第1週の始まりとする。 49
%V ISO 8601:1988形式での年の始めからの週数(00-53)。その年に少なくとも4日以上含まれる最初の週を1として計算する。週の始まりは月曜日とする。 50
%w 週の何番目の日(0-6)か。日曜日を0とする。 3
%W 年の初めからの通算の週数(00-53)。その年の最初の月曜日を第1週の始まりとする。 49
%x 現在のロケールで一般的な日付表記。 12/11/02
%X 現在のロケールで一般的な時刻表記。 20:57:44
%y 西暦の下2桁(00-99)。 02
%Y 西暦(4桁)。 2002
%z タイムゾーンのGMTへのオフセット時間。 +0900
%Z タイムゾーン名。 JST
%% % %

関連項目

localtime関数