Calendar-Simple-1.07 > Calendar::Simple
名前¶
Calendar::Simple - シンプルなカレンダーを作る為のPerl拡張
概要¶
use Calendar::Simple;
my @curr = calendar; # 今月を取得
my @this_sept = calendar(9); # 今年の9月を取得
my @sept_2002 = calendar(9, 2002); # 2002年9月を取得
my @monday = calendar(9, 2002, 1); # 2002年9月を取得,
# 週の開始を月曜日にする
説明¶
このとてもシンプルなモジュールはcalendar
と呼ぶ一つの関数をエクスポート します。この関数はひと月の日付を表すデータ構造を返します。そのデータ構造 は配列リファレンスの配列を返します。配列の第1レベルは月の中の週を表します。 配列の第2レベルは実際の日が入っています。省略時、それぞれの週の初めは 日曜日です。そして配列の中の値はその日からの日付です。前月と来月からなる 最初の週の始めと最後の週の終わりはいつでもundef
の値を持ちます。
もし、月と年の引数を省略したときは、今年の今月とみなされます。
3番目の任意引数のstart_dayは、localtime 関数が用意する wday と同様の同じ 値を使ってそれぞれの週の開始日の指定を可能にします。(すなわち、日曜の 代わりに0、月曜の代わりに1、以下同様)
簡単なcal
の代わりは従ってこのようになります。
#!/usr/bin/perl -w
use strict;
use Calendar::Simple;
my @months = qw(January February March April May June July August
September October November December);
my $mon = shift || (localtime)[4] + 1;
my $yr = shift || ((localtime)[5] + 1900);
my @month = calendar($mon, $yr);
print "\n$months[$mon -1] $yr\n\n";
print "Su Mo Tu We Th Fr Sa\n";
foreach (@month) {
print map { $_ ? sprintf "%2d ", $_ : ' ' } @$_;
print "\n";
}
エクスポート¶
calendar
著者¶
Dave Cross <[email protected]>
With thanks to Paul Mison <[email protected]> for the start day patch.