Feb.05, 2019 - 21h32m38s
- カレンダー(晒)vol.2
とある案件で
久しぶりにphpのカレンダーを
書く事となりました。
せっかくなので今まで
こんなだったカレンダーを…
03.24, 2015 カレンダー(晒)vol.1
…下記ソースの
通り書き換えました。
大きく違うのは
前月と次月の半端日も
表示可能になってます。
…まぁ、
今更感も
溢れんばかりでは
あるのだけれど…。
久しぶりにphpのカレンダーを
書く事となりました。
せっかくなので今まで
こんなだったカレンダーを…
03.24, 2015 カレンダー(晒)vol.1
…下記ソースの
通り書き換えました。
大きく違うのは
前月と次月の半端日も
表示可能になってます。
…まぁ、
今更感も
溢れんばかりでは
あるのだけれど…。
<?php class Calendar{ private $year; private $mon; function __construct(){ $this->year = 0; $this->mon = 0; } private function chkCalendarDate( $date ){ //数値の判定 if( !is_numeric($date) ) return false; //正しい桁数の判定 if( mb_strlen($date)>14 ) return false; //正しい日付の判定 $chk_year = substr( $date, 0, 4 ); $chk_mon = abs( substr($date, 4, 2) ); //ゼロサプレス if( !checkdate($chk_mon, 1, $chk_year) ) return false; return true; } public function makePerfCalendar( $date ){ if( !$this->chkCalendarDate( $date ) ){ $date = date('Y').date('m'); } $this->year = substr( $date, 0, 4 ); $this->mon = substr( $date, 4, 2 ); /* 対象月末日の取得 */ $crnt_eom = date( 'j', mktime(0, 0, 0, $this->mon+1, 0, $this->year) ); /* 対象月末日の曜日取得 */ $crnt_ewday = date( 'w', mktime(0, 0, 0, $this->mon, $crnt_eom, $this->year) ); /* 月末日以降の残り日数(次月)の取得 */ $next_day = 6 - $crnt_ewday; /* ループの最大数を取得 */ $loop_max = $crnt_eom + $next_day; /* ループの最小数(前月の末日の曜日)を取得 */ $loop_min = date( 'w', mktime(0, 0, 0, $this->mon,0, $this->year) ); /* 1日が日曜日の場合 */ if( $loop_min == 6) $loop_min = -1; /* カレンダーのデータを配列に格納 */ for($i = -$loop_min; $i <= $loop_max; $i++){ $loop_cal[] = date( 'Ymd', mktime(0, 0, 0, $this->mon, $i, $this->year) ); } return $loop_cal; } } ?>
- posted at:
- Feb.05, 2019 - 21h32m38s
- modified:
- Feb.08, 2019 - 17h37m16s
- category:
- パソコンとプログラム
- tags:
- mLabo ソース php のざらし
- description:
- カレンダーのソース
- trackback:
- https://mlabo1977.sakura.ne.jp/mlabo1977/tb.php/492
- recent topics
- 12.10, 2019 iPadケースゲット!!
- 12.07, 2019 晩酌コレクションvol.10
- 12.03, 2019 アボカド観察記録vol.9
- 12.02, 2019 2019年の誕生日vol.2
- 11.29, 2019 2019年の誕生日vol.1(後編)
- 11.24, 2019 同期モノ始めました(誕)
- 11.17, 2019 2019年の誕生日vol.1(前編)
- 11.11, 2019 RED WING O/H vol.3(後編)
- 11.01, 2019 さよならキーケース…
- 10.29, 2019 RED WING O/H vol.3(前編)
- 10.18, 2019 外付けHDDゲット!!
- 10.14, 2019 USBメモリゲット!!
- 09.30, 2019 パスタコレクションvol.21
- 08.06, 2019 Tile mateゲット!!
- 07.26, 2019 メーターコレクション(逃)vol.7
- 07.18, 2019 アボカド観察記録vol.8
- 07.11, 2019 パスタコレクションvol.20
- 07.09, 2019 Snow Leopard Serverゲット!!
- 06.26, 2019 晩酌コレクションvol.9
- 06.16, 2019 バッテリ交換(TW)
- relational topics
- 05.20, 2019 https始めました(安)
- 05.18, 2019 検索フォーム始めました(索)
- 01.02, 2019 記事執筆記録簿(2018年度版)
- 12.28, 2018 トラックパッドO/Hvol.2
- 10.14, 2017 コレクションテーブルO/H
- 10.10, 2017 ウエスの作成
- 01.03, 2017 記事執筆記録簿(2016年度版)
- 11.02, 2016 祝200回目
- 07.16, 2016 トラックパッドO/Hvol.1
- 05.08, 2016 タンバリンO/H
- 01.05, 2016 ゼロパディングの小数点以下版(晒)
- 12.24, 2015 クリップアイコン始めました(落)
- 12.13, 2015 HP作成vol.1
- 11.17, 2015 テンプレ色自動生成始めました(楽)
- 11.10, 2015 TwitterOAuthで困ったこと
- 10.22, 2015 ページング(晒)
- 10.21, 2015 イメージ欄始めました(遅)
- 09.30, 2015 ピックガード作成vol.2
- 03.26, 2015 nextの反対語
- 03.22, 2015 ブログ始めました(再)
- categories