今夜は焼肉
久しぶりの焼肉です。
19:30の予約の前に、めちゃくちゃに、おなかが減りました。
机の隅にある、カップラーメンが誘惑しています。
この空腹感ってダイエットに似てるのでしょうか?
自分との戦いです。
29292929292929292929292929292929292929292929292
↓まじめな内容
指定した日付が存在するかをチェックする関数です。
どういうときに使うかと
開始日と終了日をプルダウンで選択する際に
11月31日に設定するとデータベースに書き込む際
年月日が0000:00:00となってしまいます。
mysqlで想定していますが、データベースにもよると思います。
オラクルは平気みたい?
これをクリアするための処理を入れてあげると
エラーメッセージを促がせます。
sub day_exists {
my($year, $month, $day) = @_;
my(@mlast) = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
if ($month < 1 || 12 < $month) { return 0; }
if ($month == 2) {
if ( *1 || ($year % 400 == 0) ) {
$mlast[1]++;
}
}
if ($day < 1 || $mlast[$month-1] < $day) { return 0; }
return 1;
}
呼び出し元
$result = &day_exists($nen, $tsuki, $hi);
*1:$year % 4 == 0) && ($year % 100 != 0