データベースのdatetime形式の日付等々から曜日を取得する平成30年 9月 16日 作成
概略
datetime形式の日付等々から曜日を取得したい。
また、datetime形式以外に、年・月・日が別々の変数に格納されている場合の曜日算出についても学ぶ。
手段
「date関数」・「mktime関数」にて実現可能。
この機会に「DateTimeクラス」についても少し学んでみる。
実装方法
date・mktime関数
<?php // 日付が文字列として変数に格納されている場合 // タイムゾーンを日本時間(東京)に設定する date_default_timezone_set('Asia/Tokyo'); $week = array("日", "月", "火", "水", "木", "金", "土"); $date = "2018-06-13"; $week_num = date("w", strtotime($date)); echo $week[$week_num]; // 結果 水 // 年・月・日が別々の変数に格納されている場合 date_default_timezone_set('Asia/Tokyo'); $week = array("日", "月", "火", "水", "木", "金", "土"); $year = 2018; $month = 06; $day = 13; $time = mktime(0, 0, 0, $month, $day, $year); $w = date("w", $time); echo $week[$w]; // 結果 水 ?>
DateTimeクラス
<?php // 日付が文字列として変数に格納されている場合 date_default_timezone_set('Asia/Tokyo'); $week = array("日", "月", "火", "水", "木", "金", "土"); $date = "2018-06-13"; $datetime = new DateTime($date); $w = (int)$datetime->format("w"); echo $week[$w]; // 結果 水 // 年・月・日が別々の変数に格納されている場合 date_default_timezone_set('Asia/Tokyo'); $week = array("日", "月", "火", "水", "木", "金", "土"); $year = 2018; $month = 06; $day = 13; $datetime = new DateTime(); $datetime->setDate($year, $month, $day); $w = (int)$datetime->format("w"); echo $week[$w]; // 結果 水 ?>
考察
曜日は「0~6」の数字の形で返ってくるので、日本語表記の「日~土」にするにはそれに対応したの配列変数を作っておくと便利。
取得する曜日は、タイムゾーンの影響を受けるので、「php.ini」や「date_default_timezone_set()」での設定を忘れない様に。
最後までお読み下さり ありがとうございました。記事はここ迄です。
尚、本記事は作成から「5年以上」経過しています。
記事作成当時と現在の状況等により内容が適切でない場合があります。また、リンク切れが生じている場合もあります事を予めご了承下さい。
お気に入りに登録しますとお気に入り記事を一元管理でき、再度閲覧したい場合等 容易に記事を探し出す事ができますのでご活用下さい。
下段にはコメントを掲載しております。
広告バナー
コメント
頂いたコメントを下記に掲載しております。更に下部にはコメント投稿フォームを設けております。
注意事項を確認・了承した上、コメント投稿お願いいたします。
注意事項に該当するコメントにつきましては、事前告知なしに投稿したコメントの削除を行う場合があります。
予めご了承下さい。
- 記事内容と無関係なコメント
- 公序良俗に反するコメント
- 個人情報や法令違反を含むコメント
- その他、管理者が不適切と判断したコメント
現在 頂いているコメントはありません