DateTime timezone when format
<p>This is a weird issue I have encountered with timezone and DateTime, I`ll keep it short:</p>

<pre><code>var_dump($obj-&gt;getTime1());
var_dump($obj-&gt;getTime2());
</code></pre>

<p>Gives me the following (which is ok, timezone is good etc..):</p>

<pre><code>object(DateTime)#379 (3) {
  ["date"]=&gt;
  string(19) "2016-03-28 19:00:00"
  ["timezone_type"]=&gt;
  int(3)
  ["timezone"]=&gt;
  string(12) "Europe/Paris"
}
object(DateTime)#378 (3) {
  ["date"]=&gt;
  string(19) "2016-03-13 19:00:00"
  ["timezone_type"]=&gt;
  int(3)
  ["timezone"]=&gt;
  string(12) "Europe/Paris"
}
</code></pre>

<p>But when I want to format (on the exact same lines) into string :</p>

<pre><code>var_dump($obj-&gt;getTime1()-&gt;format(DateTime::ISO8601));
var_dump($obj-&gt;getTime2()-&gt;format(DateTime::ISO8601));
</code></pre>

<p>I get:</p>

<pre><code>string(24) "2016-03-28T19:00:00+0200"  &lt;-- Noticed that it has a different timezone
string(24) "2016-03-13T19:00:00+0100"
</code></pre>

<p>I hate DateTime</p>

<p>P.S: When I create the 2nd DateTime object I clone the first and I add a DateInterval:</p>

<pre><code> $someTime = clone $obj-&gt;getTime1();
 $someTime -&gt;sub(new \DateInterval('P'.$days.'D'));
 $event-&gt;setTime2($someTime);
</code></pre>