ユーザーが開始時刻と終了時刻を入力できるアプリがあります。終了時間が翌日になる場合は、日付を調整する必要があります。現在、date、battery_start、および battery_end の 3 つの入力フィールドがあります。
バッテリー時間は : を除いた 24 時間形式です。計算が最終的に 0 未満になるかどうか、battery_total < 0 になるかどうかを確認しています。そうであれば、battery_end を翌日に設定したいのですが、ユーザーがフィールドに入力した時間に合わせます。
/**
* if the flight spans two days, i.e. starts late at night
* and ends early in the morning then adjust datetime
*/
public function adjustFlightTime()
{
//check battery times
if($this->battery_total < 0)
{
$this->battery_end = date('Y-m-d H:m:s', strtotime("$this->battery_end +1 days"));
$this->battery_total = $this->battery_total +24;
}
}
新しい battery_end 時刻を保存しようとすると、時刻にさらに 9 分追加されますが、日付は正しいです。
DJ