<?php
$d1 = new DateTime('2010-06-17 14:00:00', new DateTimeZone('America/Montreal'));
$d2 = new DateTime('2010-06-17 14:00:00', new DateTimeZone('America/Santiago'));
echo "D1: " . $d1->getTimezone()->getName() . "\n";
echo "D2: " . $d2->getTimezone()->getName() . "\n";
echo "D1 Format: " . $d1->format('Y-m-d H:i:sO') . "\n";
echo "D2 Format: " . $d2->format('Y-m-d H:i:sO') . "\n";
$d3 = DateTime::createFromFormat('Y-m-d H:i:sO', '2010-06-17 14:00:00-0400');
echo "D3: " . $d3->getTimezone()->getName() . "\n";
echo "D3 Format: " . $d3->format('Y-m-d H:i:sO') . "\n";
$d1->modify('+5 month');
$d2->modify('+5 month');
$d3->modify('+5 month');
echo "D1 Format: " . $d1->format('Y-m-d H:i:sO') . "\n";
echo "D2 Format: " . $d2->format('Y-m-d H:i:sO') . "\n";
echo "D3 Format: " . $d3->format('Y-m-d H:i:sO') . "\n";
$d4 = DateTime::createFromFormat('Y-m-d H:i:s', '2010-06-17 14:00:00');
$d4->setTimeZone(new DateTimeZone('America/Montreal'));
$d5 = DateTime::createFromFormat('Y-m-d H:i:s', '2010-06-17 14:00:00');
$d5->setTimeZone(new DateTimeZone('America/Santiago'));
$d4->modify('+5 month');
$d5->modify('+5 month');
echo "D4 Format: " . $d4->format('Y-m-d H:i:sO') . "\n";
echo "D5 Format: " . $d5->format('Y-m-d H:i:sO') . "\n";
$d6 = DateTime::createFromFormat('Y-m-d H:i:s', '2010-06-17 14:00:00', new DateTimeZone('America/Montreal'));
$d7 = DateTime::createFromFormat('Y-m-d H:i:s', '2010-06-17 14:00:00', new DateTimeZone('America/Santiago'));
$d6->modify('+5 month');
$d7->modify('+5 month');
echo "D6 Format: " . $d6->format('Y-m-d H:i:sO') . "\n";
echo "D7 Format: " . $d7->format('Y-m-d H:i:sO') . "\n";