PHP で日付を扱うカスタム関数
そんな訳でいくつか流用。手なりで作ってしまっているのでご指摘大歓迎です。
date 型の変数を日本の日付表示に変換(曜日付)
function japaneseDate($date) { if (preg_match('/^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})([0-9: ]*)$/', $date, $val) && $date != '1000-01-01' && $date != '9999-12-31') { $youbi = array('日', '月', '火', '水', '木', '金', '土'); $days_show = date('Y年m月d日', strtotime($date)); $days_youbi = "(".$youbi[date('w', strtotime($date))].")"; $days = $days_show.$days_youbi.$val[4]; } else if (preg_match('/^([0-9]{4})-([0-9]{1,2})$/', $date, $val)) { $days = $val[1]."年".$val[2]."月"; } else { $days = ""; } return $days; }
開始日と終了日から期間に変換
function periodDate($date_start = '0000-00-00', $date_end = '0000-00-00') { if ($date_start == '0000-00-00' && $date_end == '0000-00-00') { return; } else { if ($date_start == $date_end) { $date = japaneseDate($date_start); } else if ($date_end == '9999-12-31') { $date = japaneseDate($date_start) . '〜'; } else if ($date_start == '0000-00-00') { $date = '〜' . japaneseDate($date_end); } else { $date = japaneseDate($date_start) . '〜' . japaneseDate($date_end); } return $date; } }
開始時間と終了時間から期間に変換
function periodTime($time_start = '00:00:00', $time_end = '00:00:00') { if ($time_start = '00:00:00' && $time_end = '00:00:00') { return; } else { if ($time_start == $time_end) { $time = date('H:i', strtotime($time_start)); } else if ($time_end == '00:00:00') { $time = date('H:i', strtotime($time_start)) . '〜'; } else if ($time_end == '00:00:00') { $time = '〜' . date('H:i', strtotime($time_end)); } else { $time = date('H:i', strtotime($time_start)) . '〜' . date('H:i', strtotime($time_end)); } return $time; } }