SOFTELメモ

</> 技術者募集

【php】日付文字列から年度を算出する

問題

任意の日にちの日付文字列(’2017-03-31′ など)の4月始まりの年度を計算する関数を作れ。

php

答え

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)となる。必要に応じてエラー処理を追加されたし。

関連するメモ

コメント