FAFAFOHI
FAFAFOHI

Reputation: 909

Converting between timezones in PHP

I am converting this time and date:

Thu, 31 Mar 2011 02:05:59 GMT

To the following time and date format:

Monday March 28 2011 4:48:02 PM

I am using the following PHP code to accomplish this, but I want to convert all time zones to PST/PDT. I looked at the PHP manual and saw this date_default_timezone_set() but I am not sure how to implement that into the code I have below.

$date = $messages[0]->CreationTime;
echo date('l F j Y g:i:s A I', strtotime($date))

Upvotes: 42

Views: 59736

Answers (2)

Matthew
Matthew

Reputation: 48304

I would not use date_default_timezone_set for general TZ conversions. (To clarify... if this is for display purposes, script wide, then using the default timezone is a reasonable thing to do.)

Instead, I would use something like:

$tz = new DateTimeZone('America/Los_Angeles');

$date = new DateTime('Thu, 31 Mar 2011 02:05:59 GMT');
$date->setTimezone($tz);
echo $date->format('l F j Y g:i:s A I')."\n";

Upvotes: 98

Mike B
Mike B

Reputation: 32165

$date = $messages[0]->CreationTime;
date_default_timezone_set('America/Los_Angeles');
echo date('l F j Y g:i:s A I', strtotime($date));

See this list for available timezones that get passed into the function

Upvotes: 2

Related Questions