短くかけた

を参考に。


#!/usr/bin/perl
use strict;
use warnings;

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

$jpwday = sprintf("%s", ("日", "月", "火", "水", "木", "金", "土")[$wday]);

print sprintf("%d年%02d月%02d日 %s曜日 %02d時%02d分%02d秒\n", $year+1900, $mon+1, $mday, $jpwday, $hour, $min, $sec);


> perl date.pl
2005年10月31日 月曜日 03時35分29秒
結果はさっきと同じ。

  • sprintf の変数のところで ("日", "月", "火", "水", "木", "金", "土")[$wday] と書いてやると 0=日、1=月... となるみたい
  • localtime() は localtime(time) と同義