phpで、今日の日付から現在の4月から始まる年度を判別して一覧を作成する方法
php関連記事
PHPのmb_send_mailでメール送信時に、はしご高「髙」やたつさき「﨑」など旧漢字や丸数字の日本語文字化け対策をする
MySQL/MariaDBのデータをPHP側で暗号化・復号する
phpで10進数と16進数、2進数、8進数の変換と0埋め表記
WordPressの条件分岐タグでページを判別する
PHPでpreg_splitの文字化けを回避しながらテキストを改行ごとに区切ってHTMLメールをつくる
WordPressテーマアップロード時に「辿ったリンクは期限が切れています。 もう一度お試しください。」と表示される
PHPで画像アップロード時に比率を保ったまま縮小する
phpで郵便番号を正規表現で3桁・ハイフン・4桁で出力するfunction
phpで電話番号のハイフンを正規表現で出力するfunction
1月以降の西暦が変わる問題を解決する
php
//今日の日付の1日から3か月戻す $year = date("Y-m-01", strtotime("-3 month")); //西暦だけを取得 $year = date("Y",strtotime($year));
今日の日付から、3か月戻すことで、1月~3月も現在の西暦で計算されてしまうことを防ぐ。
また、今日の日付からではなく、当月の1日に戻すことでstrtotime("-3 month")
で正しくない日付が出力される問題も解決できる。
月ごとに西暦を入れたいので、$year
は、年だけにしておく。
月ごとに西暦を格納する
php
//月を格納 $mon_num = array(); for ($i=4; $i <= 12; $i++) { $mon_num[] = $i; } //最終的に利用する年度の配列 $ym = array(); foreach ($mon_num as $m) { $ym[] = array($year, $m); } //1月以降を追加 $mon_num = array('1', '2', '3'); foreach ($mon_num as $m) { $ym[] = array($year+1, $m); }
出力結果
php
array(12) { [0]=> array(2) { [0]=> string(4) "2020" [1]=> int(4) } [1]=> array(2) { [0]=> string(4) "2020" [1]=> int(5) } [2]=> array(2) { [0]=> string(4) "2020" [1]=> int(6) } [3]=> array(2) { [0]=> string(4) "2020" [1]=> int(7) } [4]=> array(2) { [0]=> string(4) "2020" [1]=> int(8) } [5]=> array(2) { [0]=> string(4) "2020" [1]=> int(9) } [6]=> array(2) { [0]=> string(4) "2020" [1]=> int(10) } [7]=> array(2) { [0]=> string(4) "2020" [1]=> int(11) } [8]=> array(2) { [0]=> string(4) "2020" [1]=> int(12) } [9]=> array(2) { [0]=> int(2021) [1]=> string(1) "1" } [10]=> array(2) { [0]=> int(2021) [1]=> string(1) "2" } [11]=> array(2) { [0]=> int(2021) [1]=> string(1) "3" } }
コメント