Format Timezone for Carbon Date

Rob picture Rob · Feb 19, 2015 · Viewed 91.9k times · Source

I'm trying to set the timezone for a date in a Carbon object. It works fine locally but on my production box it keeps giving me Bad timezone error.

I've tried:

$date->setTimezone('7');
$date->setTimezone('+7');
$date->setTimezone('7:00');
$date->setTimezone('+7:00');
$date->setTimezone('UTC 7');
$date->setTimezone('UTC +7');
$date->setTimezone('UTC 7:00');
$date->setTimezone('UTC +7:00');

No idea why it's complaining on my production box. Can't find documentation either on what is the "proper" format to enter here. Can someone please help.

FYI: local is windows, and prod is Ubuntu box.

Answer

Safoor Safdar picture Safoor Safdar · Feb 19, 2015

You can change the timezone with this:

$timestamp = '2014-02-06 16:34:00';
$date = Carbon::createFromFormat('Y-m-d H:i:s', $timestamp, 'Europe/Stockholm');
$date->setTimezone('UTC');

this format working fine to my Local(Ubuntu) and prod(Redhat) project.