私は5分ごとにキックをするクローンを持っています。 1日の特定の時間(朝や夕方など)にのみタスクを実行する必要があります。日時が時間枠内にあるかどうかを確認する最も効果的な方法
現在のDateTimeが5分間の時間枠内にあるかどうかを判断する最も効果的でエレガントな方法は何ですか?私がやっている瞬間
:
$date = new DateTime();
$hour = (int)$date->format('H');
$min = (int)$date->format('i');
if($hour == 7 && ($min >= 40 || $min < 45)) {
// Do something in the morning
}
if($hour == 21 && ($min >= 00 && $min < 05)) {
// Do something in the evening
}
しかし、これは多くのコードのように思えます。そこに何かのようなものがありません
$date->isInTimeRane($begin, $end);
ネイティブPHPコードですか? $begin
と$end
は同様に、DateTime型である
昼間は「毎年、毎月、毎日」に設定できますか?私はこれを毎日実行したいので...毎回依存関係の開始と終了を初期化しなければならない場合は、コードを膨らませます(したがって、私は現在のバージョンにも固執することができます)。 – shredding
次のようなことができます: '$ begin = new DateTime(); $ begin-> setTime(7、40); ' - その日の7時40分を表すDateTimeインスタンスを返します。しかし、これは最も効率的なソリューションではありません。 – Niko