On 28-3-2013 22:40, Larry Martell wrote:
On Thu, Mar 28, 2013 at 2:44 PM, Steven Staples <sstaples@xxxxxxxx> wrote:
I think I am losing my mind. I have some time zone converting code, and I
just don't understand what I am seeing. Also my system seems to return the
wrong time after I do some date operations on unrelated objects.
This is from a machine that is in eastern time. I want to convert to, for
example central time:
$ndate = new Date(date("Y-m-d H:i:s"));
echo $ndate->format("%Y-%m-%d %H:%M:%S");
2013-03-28 15:35:07 <- this is the correct time
$ndate->setTZbyID("EDT");
echo $ndate->format("%Y-%m-%d %H:%M:%S");
2013-03-28 15:35:07 <- still correct
$ndate->convertTZbyID("US/Central");
echo $ndate->format("%Y-%m-%d %H:%M:%S");
2013-03-28 10:35:07 <- this is wrong it should be 14:35:07
$xdate = new Date(date("Y-m-d H:i:s"));
echo $xdate->format("%Y-%m-%d %H:%M:%S");
2013-03-28 19:35:07 <- HUH? This is wrong - should be 15:35:07
What in the world is going on here?
I found this function a while back when I was converting UTC to EST... simple task I know, but still...
( I am sorry to whomever wrote this, I didn't keep the source where I found it )
function convert_time_zone($date_time, $from_tz = 'UTC', $to_tz = 'America/Toronto')
{
$time_object = new DateTime($date_time, new DateTimeZone($from_tz));
$time_object->setTimezone(new DateTimeZone($to_tz));
return $time_object->format('Y-m-d H:i:s');
}
I don't seem to have the DateTime object. We are running 5.1.6 and
that was added in 5.2.0. We are getting the Date module from an
external extension. I'll have to see about upgrading.
Well, if you're getting the Date class from a custom extension, then we
can't help you. Simply because we have no clue what the extension's code
is.
Also, please ask your host to upgrade, 5.1.6 is hopelessly outdated (and
unsupported!). The current version is 5.4 with 5.5 coming out very very
soon.
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php