PHPの日付を扱う関数って色々あってどれがなんだったのかごちゃ混ぜになってしまったので少しまとめてみました。まとめたと言っても自分の使いやすそうなやつだけですけど…
[ads_center]
現在の日付や時刻を色々なフォーマットで出力
まずは色々な表示形式での日付や時刻です。
echo date('Y年m月d日 H時i分s秒') . '<br />'; echo date('Y-m-d H:i:s') . '<br />'; echo date('Y/m/d') . '<br />'; echo date('Y年n月j日') . '<br />';
表示例
2011年09月10日 21時39分33秒 2011-09-10 21:39:33 2011/09/10 2011年9月10日
日付や時刻から一部の値を取得する
getdate()を使います。引数を省略すると現在のタイムスタンプが指定されます。各要素を配列で取得できます。
$today = getdate(); echo '<p>今日は' . $today['year'] . '年' . $today['mon'] . '月' . $today['mday'] . '日です</p>';
表示例
今日は2011年9月10日です
指定した日または今日の曜日をもとめる
曜日はgetdate()では0から6の数値で返されますので配列で数値に合うように曜日を指定してあげます。
$timestamp = mktime(0, 0, 0, 9, 10, 2011); $today = getdate($timestamp); $weekday = $today['wday']; $weekday_array = array('日', '月', '火', '水', '木', '金', '土'); echo $weekday_array[$weekday] . '曜日です';
上記は指定した日の曜日をもとめるコードです。今日の曜日をもとめる場合は$timestampはいりません。$today = getdate();にして以下は同じです。
表示例
土曜日です
日付を加減算する
date()とstrtotime()を使って日付を加減算できます。
echo '現在の日付: ' . date('Y-m-d') . '<br />'; echo '1年後: ' . date('Y-m-d', strtotime('+1 year')) . '<br />'; echo '1ヶ月後: ' . date('Y-m-d', strtotime('+1 month')) . '<br />'; echo '1日後: ' . date('Y-m-d', strtotime('+1 day')) . '<br />';
表示例
現在の日付: 2011-09-10 1年後: 2012-09-10 1ヶ月後: 2011-10-10 1日後: 2011-09-11
以上、よく使いそうな日付関係の関数でした。