【php】日付文字列から年度を算出する
問題
任意の日にちの日付文字列(’2017-03-31′ など)の4月始まりの年度を計算する関数を作れ。
答え
function nendo($d) { return date('Y', strtotime($d) + 60*60*24*(30+31+30+31+31+30+31+30+31)) - 1; }
日付文字列は YYYY-MM-DD 形式が基本の想定。
strtotimeでタイムスタンプに換算できれば他の形式でも受け付ける。
エラーを考慮していないので、nendo(‘aaa’) など、日付とみなせない文字を渡すと1969年度(1970 – 1 = 1969)となる。必要に応じてエラー処理を追加されたし。
コメント