Home » Php » PHP: DateTime::createFromFormat() with timezone

PHP: DateTime::createFromFormat() with timezone

Posted by: admin July 12, 2020 Leave a comment


I want to convert date form from d/m/Y to Y-m-d with timezone offset.
I am able to convert from d/m/Y to Y-m-d with this code:

$date = DateTime::createFromFormat('d/m/Y', $date);
$date = $date->format('Y-m-d');

But I am not sure how to add the timezone offset.

How to&Answers:

Just use DateTime::setTimeZone():

$date = DateTime::createFromFormat('d/m/Y', $date);
$date->setTimeZone(new DateTimeZone('America/New_York'));
$date = $date->format('Y-m-d');


(PHP 5 >= 5.3.0)
you actually enter the third parameter

public static DateTime DateTime::createFromFormat(string $format ,
string $time[, DateTimeZone $timezone])

$date = DateTime::createFromFormat('d/m/Y', $date, new DateTimeZone('Europe/Berlin'));