• ベストアンサー

期間設定はどのよに構文書けばよいのでしょうか?

例えば一年を2004年2月3日~2005年2月2日と期間で設定したいのですが・・・

質問者が選んだベストアンサー

  • ベストアンサー
  • yatokesa
  • ベストアンサー率40% (201/496)
回答No.3

2004年2月3日~2005年2月2日を2004年度と考えるとき、とある日付が何年度になるかという事を計算や条件で求めることになります。 $aruhi = "2005/01/21"; $d = preg_split ($aruhi, "/"); $nendo = $d[0]; if ($d[1] < 2 || ($d[1] == 2 && $d[2] <= 2)) {  $nendo -= 1; } ある日を年・月・日に分解し、月が2未満、若しくは月が2でかつ日が2以下ならば年から1を引く。ということです。 月の2と言う数値と日の2という数値を変数にすれば任意の締め日になります。 アルゴリズムとは、仕掛け、からくりという感じでしょうか。 その問題を解決するための手続き(プログラム)を指します。

yuuka55
質問者

お礼

ありがとうございました。 早速試してみます。

その他の回答 (2)

noname#15014
noname#15014
回答No.2

$daystr = date("Ymd"); if($daystr >= 20040203 and $daystr <= 20050202) {  // 今期 } elseif($daystr >= 20050203 and $daystr <= 20060202) {  // 来期 }  … こんな感じですか?

yuuka55
質問者

お礼

ありがとうございます。 助かりました。

  • yatokesa
  • ベストアンサー率40% (201/496)
回答No.1

質問内容が曖昧すぎて、なんとも答えようがないですね。 PHPでは特にそういう用途向けの仕組みは用意されていないようなので、年月日をばらすなどして自分でアルゴリズムを作るしかないと思いますよ。

yuuka55
質問者

補足

回答ありがとうございます。 今期、来期等自動的に更新できたらなぁと思ってご質問したのですが、初心者ゆえに上手く説明ができなくてすみません。ちなみにアルゴリズムとはなんですか?