1

PHPでいくつかの時間値を動的にロードして比較することができました。

今、私はここで立ち往生しています:

$additional_time = $entry_start->diff($compare_from_timeformat);
$additional_time ->format("H:i");
$avaliabletime->modify('+1 hours');

をに置き換えたいのですが、次のようなこと+1$avaliabletime試してみると:

$avaliabletime->modify('+'.$additional_time.' hours');

次のエラーが表示されます。

キャッチ可能な致命的なエラー: クラス DateInterval のオブジェクトを文字列に変換できませんでした

だから私は今2つの質問を得ました。

  1. 変更部分で変数を使用する方法はありますか?
  2. 同じ文字列に分を追加することはできますか? たとえば$avaliabletime->modify('+01:45 hours');
4

1 に答える 1

4

$additional_timeオブジェクトや文字列ではDateIntervalなく、DateTimeオブジェクトです。DateIntervaluse を表す量だけ DateTime オブジェクトを変更するにはDateTime::add():

$additional_time = $entry_start->diff($compare_from_timeformat);
$avaliabletime->add($additional_time);

さらに時間を追加したい場合は次を使用できますDateTime::modify()

$additional_time = $entry_start->diff($compare_from_timeformat);
$avaliabletime->add($additional_time);
$avaliabletime->modify('+45 minutes');
于 2015-04-16T15:41:04.487 に答える