Date::Simple

日付オブジェクトを提供する

use Date::Simple;
Date::Simpleパッケージをロードする。

my $dt = Date::Simple->new( $arg );

日付を直接指定してインスタンスを生成する。$argは、下記の形式で指定する。
YYYY-MM-DD , YYYYMMDD , undef(今日の日付が設定される)。
不正な日時を渡すとundefを返す。

$dt->today();
今日の日付を設定する。

インスタンス系メソッド(一覧)

my $tomorrow = $today->next();    // 明日
my $yesterday = $today->prev();    // 翌日
my $year  = $date->year();       // 年(4桁)
my $month = $date->month();      // 月(1~12)
my $day   = $date->day();       // 日(1~31)
my $dow   = $date->day_of_week();   // 曜日(0~6)
my ($year, $month, $day) = $date->as_ymd(); // 年月日
my $str = $date->as_iso();         // YYYY-MM-DD
my $str = $date->as_d8();          // YYYYMMDD
my $str = $date->as_str($format);   // strftime形式でフォーマットした文字列
my $str = $date->format($format);   //   〃
my $str = $date->strftime($format);  //   〃

演算子(一覧)

$newdate = $dt + $num;   // $num日後の日付
$newdate = $dt - $num;   // $num日前の日付
$num = $dt1 - $dt2;     // $dt2から$dt1までの日数
$dt1 == $dt2        // $dt1と$dt2が等しい場合、1
$dt1 != $dt2        // $dt1と$dt2が等しくない場合、1
$dt1 < $dt2         // $dt1が$dt2以前の場合、1
$dt1 <= $dt2        // $dt1が$dt2以前か等しいの場合、1
$dt1 > $dt2         // $dt1が$dt2以降の場合、1
$dt1 >= $dt2        // $dt1が$dt2以降か等しいの場合、1
$dt1 <=> $dt2        // 0 if $dt1 == $dt2 , -1 if $dt1 < $dt2 , 1 if $dt1 > $dt2
$dt1 cmp $dt2        //    〃
$dt += $num;        // $num日を加算
$dt -= $num;        // $num日を減算
"$date"           // YYYY-MM-DD形式の日付文字列

ユーティリティ(一覧)

Date::Simple::leap_year($year)      // うるう年の場合、1
Date::Simple::days_in_month($yaer,$month)    // その月の日数