私は次のコードを別のものに基づいてDateTimeオブジェクトを作成すると、非効率的だと思われる。これを1行に簡略化する方法があると確信していますが、見つけられないようです。 PHP7で別のものの30分後にdateTimeオブジェクトを作成する最も良い方法は?
$startTime = new DateTime('20:00');
$endTime = clone $startTime;
$endTime->add(new DateInterval('PT30M'));
私は次のコードを別のものに基づいてDateTimeオブジェクトを作成すると、非効率的だと思われる。これを1行に簡略化する方法があると確信していますが、見つけられないようです。 PHP7で別のものの30分後にdateTimeオブジェクトを作成する最も良い方法は?
$startTime = new DateTime('20:00');
$endTime = clone $startTime;
$endTime->add(new DateInterval('PT30M'));
を探しているあなたは、単に行うためにDateTimeImmutable
を使用することができますすることができます非常に簡単に:
$startTime = new DateTimeImmutable('20:00');
$endTime = $startTime->add(new DateInterval('PT30M'));
参照:http://php.net/manual/en/class.datetimeimmutable.php
このクラスはDateTimeと同じように動作しますが、変更されることはありませんが、代わりに新しいオブジェクトを返します。
驚くばかり!ありがとう!私は良い方法がなければならないことを知っていました。 – Desquid
これは知っていると便利です –
あなたはクローンを組み合わせ、
$startTime = new DateTime('20:00');
$endTime = (clone $startTime)->add(new DateInterval('PT30M'));
を使用してメソッドを追加しますが、PHP 5のために、あなたが最も効率的なアプローチで
それは心配しています。ありがとう、私が探していた答えでした! – Desquid
は「20:00」分と秒ですか? –
@PedroLobito時間と分です。その部分は正常に動作します。上記のコードは動作します。私はそれを最適化するためのよりよい方法があると考えています。 – Desquid
私は正直言って、改善の余地はありません。これであなたの目標を説明すれば、それは私たちを助けるかもしれません。 –