PHPで春分の日、秋分の日を計算

春分の日、秋分の日の日付を算出

PHP

// 20.8431: 春分の日 20日 20:14:04のシリアル値 // 23.2488: 秋分の日 23日 5:58:16のシリアル値 // 0.242194: 1年 365.241294の小数 // 春分の日 2017-03-20 $vernal_day = floor(20.8431 + 0.242194 * ($year - 1980)) - floor(($year - 1980)/4); echo sprintf('%s-%02d-%02d', $year, 3, $vernal_day); // 秋分の日 2017-09-23 $autumn_day = floor(23.2488 + 0.242194 * ($year - 1980)) - floor(($year - 1980)/4); echo sprintf('%s-%02d-%02d', $year, 9, $autumn_day);

20.8431と23.2488の算出方法

PHP

// 24時間の総秒数(86400) $day_seconds = 24 * 60 * 60; // 20:14:04の総秒数 $vernal_seconds = 20 * 60 * 60 + 14 * 60 + 4; // 20.8431 echo 20 + round($vernal_seconds/$day_seconds, 4); // 5:58:16の総秒数 $autumn_seconds = 5 * 60 * 60 + 58 * 60 + 16; // 23.2488 echo 23 + round($autumn_seconds/$day_seconds, 4);

2017年の祝日

元日:2017/01/01
成人の日:2017/01/09(1月第2月曜日)
建国記念の日:2017/02/11
春分の日:2017/03/20
昭和の日:2017/04/29
憲法記念日:2017/05/03
みどりの日:2017/05/04
こどもの日:2017/05/05
海の日:2017/07/17(7月第3月曜日)
敬老の日:2017/09/18(9月第3月曜日)
秋分の日:2017/09/23
体育の日:2017/10/09(10月第2月曜日)
文化の日:2017/11/03
勤労感謝の日:2017/11/23
天皇誕生日:2017/12/23

第○曜日の日付の抽出は指定年/月/回/曜日の日付を使用。

最新の記事

プロフィール

流されるままにウェブ業界で仕事しています。
主にLAPP環境でPHPを書いています。
最近はjQueryをよく書いています。