PHP 日付、曜日を操作する関数
今回は、日付、曜日を操作する関数について書いていきます。
日付の様々な処理
date関数とstrtotime関数を使って様々な処理を行っていきます。
date関数・・・・・・ 日付を扱うための関数です。
strtotime関数 ・・・ 英文形式の日付をUnixタイムスタンプに変換する関数です。
日時の表示
現在の日時を表示しています。
1 2 | date('Y-m-d H:i:s'); // 2015-01-20 18:59:14 |
日付の計算
〇日前、〇日後、〇週間前、〇週間後、〇か月後など
加算、減算を行うことができます。
以下、サンプルになります。
・今日から一週間前と一週間後の日付
1 2 3 4 5 6 7 | // 一週間前 print date('Y-m-d' , strtotime("-1 week")); // 2015-01-14 // 一週間後 print date('Y-m-d' , strtotime("+1 week")); // 2015-01-28 |
・今日から一か月前と一か月後の日付
1 2 3 4 5 6 7 | // 一か月前 print date('Y-m-d' , strtotime("-1 month")); // 2014-12-21 // 一か月後 print date('Y-m-d' , strtotime("+1 month")); // 2015-02-21 |
・特定の日付の一週間後、一か月後
例:2015年1月1日の場合
1 2 3 4 5 6 7 | // 一週間後 print date('Y-m-d', strtotime('+1 week', strtotime('2015-01-01'))); // 2015-01-08 // 一か月後 print date('Y-m-d', strtotime('+1 month', strtotime('2015-01-01'))); // 2015-02-01 |
・月の末日
例:2015年2月の場合
1 2 | print date('t', strtotime('2015-02-14')); // 28 |
・日付の差分を出す
例:2014年10月15日と2014年8月1日の差分
1 2 3 4 | $time1 = '2014-10-15'; $time2 = '2014-08-01'; print (strtotime($time1) - strtotime($time2)) / ( 60 * 60 * 24); // 75 |
日付が正しいかチェックする関数
checkdate関数を使います。
例:2015年2月31日が正しいかチェックします。
1 2 3 4 5 6 7 8 9 10 11 | $year = 2015; $month = 2; $day = 31; if(checkdate($month, $day , $year) === false) { print "NG"; } else { print "OK"; } // この場合、2015-2-31 は正しくないのでNGになります。 |
日付から曜日の割り出し
日付がわかっていれば、曜日を割り出せます。
例:10年後の2025年1月21日の曜日を割り出す
1 2 3 4 5 6 7 | $date = "2025-01-21"; $datetime = new DateTime($date); $week = array("日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"); $w = (int)$datetime->format('w'); print $week[$w]; // 火曜日 |
Author Profile
スターフィールド編集部
SHARE