当サイトはQ&A掲示板(コミュニティ)の窓口を共有して下さるサイト様を募集しています。
[Q&A掲示板] 共有サイト様募集!日付と時間を扱う関数 ■ getdate()関数 現在の日付と時間を取得するには、getdate()関数を使用します。 この関数には連想配列として、以下のようなインデックスが定義されています。 【getdate()関数が返す連想配列一覧】 キー 値の意味 例 second 秒の値 0 〜 59 mimutes 分の値 0 〜 59 hours 時の値 0 〜 23 mday 日付の値 1 〜 31 wday 曜日の値(数値) 0(日曜) 〜 6(土曜) mon 月の値(数値) 1 〜 12 year 年の値(4桁) 2009 など yday 年単位の日 0 〜 365 weekday 曜日の値(フルスペル) Sunday 〜 Saturday month 月の値(フルスペル) January 〜 December サンプル <?php echo "今日は"; $now = getdate(); echo $now["year"].'年'.$now["mon"].'月'.$now["mday"].'日 '; echo $now["hours"].'時'; echo $now["minutes"].'分'; echo $now["seconds"].'秒'; ?> 出力結果 今日は2009年6月10日 18時17分32秒 ■ date()関数 日付表現のフォーマットをするには、date()関数を使用します。 【フォーマット文字一覧】 a --------- am または pm を定義する A --------- AM または PM を定義する d --------- 2桁の日付を定義する D --------- 3文字の曜日 (Sun 〜 Sat) を定義する F --------- フルスペルの英字で月を定義する h --------- 12時間単位 (00 〜 12) の時間を定義する H --------- 24時間単位 (00 〜 23) の時間を定義する g --------- 先頭に 0 をつけない12時間単位 (0 〜 12) の時間を定義する G --------- 先頭に 0 をつけない24時間単位 (0 〜 23) の時間を定義する i --------- 2桁の分 (00 〜 59) を定義する j --------- 先頭に 0 をつけない (0 〜 31)の日を定義する l --------- フルスペルの英字で曜日を定義する L --------- 閏年では 1 を、それ以外は 0 を返す n --------- 先頭に 0 をつけない (0 〜 12) の月を定義する m --------- 2桁のの月 (01 〜 12) を定義する M --------- 3文字の月 (Jan 〜 Dec) を定義する s --------- 2桁の秒 (00 〜 59) を定義する S --------- 英文の序数を表わす接尾語 (th 〜 nd) を定義する t --------- 指定した月の日数 (28 〜 31) を定義する U --------- UNIX時間 (1970年1月1日からの秒数) を定義する w --------- 数値で示す曜日 (0 〜 6) を定義する y --------- 西暦の下2桁を示す年を定義する Y --------- 西暦を4桁で示す年を定義する z --------- その年の1月1日からの通算日を定義する Z --------- タイムゾーンのオフセット秒 ( -43200 〜 43200まで) date()関数の引数に、以上のような値を定義することで、様々な形のフォーマットを提供し、表現します。 <?php $today = date("Y/m/d l H:i:s"); echo($today); ?> ■ checkdate()関数 日付の妥当性をチェックするには、checkdate()関数を使用します。 checkdate は引数で与えられた日付が有効であれば true、無効であれば false を返します。 引数の順番は 月、日、年の順番です。 サンプル <?php $y = 2009; $m = 1; $d = 1; if (checkdate($m, $d, $y)) { echo "${y}年${m}月${d} 日は日付として有効です。<br>\n"; } else { echo "${y}年${m}月${d}日は日付として無効です。<br>\n"; } $y = 2009; $m = 1; $d = 32; if (checkdate($m, $d, $y)) { echo "${y}年${m}月${d}日は日付として有効です。<br>\n"; } else { echo "${y}年${m}月${d}日は日付として無効です。<br>\n"; } ?> 出力結果 2009年1月1 日は日付として有効です。 2009年1月32日は日付として無効です。