开发者

again: Call to a member function setTimezone() on a non-object

开发者 https://www.devze.com 2023-03-23 02:21 出处:网络
I suddenly get the error message Fatal error: Call to a member function setTimezone() on a non-object after adding some new lines of code:

I suddenly get the error message Fatal error: Call to a member function setTimezone() on a non-object after adding some new lines of code:

first of all, i used DateTime to switch between different timeformats to calculate DST, etc.

I used the following code [Code Block 1]

foreach ($result as $k=>$v)
    {$timestamp=DateTime::createFromFormat('Y-m-d\TH:i:s.u\Z', $k,new DateTimeZone("UTC"));    //take current date from $k as new DateTile Object
         $timestamp->setTimezone(new DateTimeZone('Europe/Berlin'));   //convert timezone
         $date[]=$timestamp->format('Y-m-d H:i:s');   // "export" the date to date-array
         }

This code works well, until now:

I added 20 code lines above an other DateTime function [Code Block 2]:

$ts=new DateTime("@".round($_GET['startdate']/1000));
$startdate=$ts->format('Y-m-d\TH:i:s.u\Z');

After I added these 2 lines, all the time i get the error: Fatal error: Call to a member function setTimezone()for this line:$timestamp->setTimezone(new DateTimeZone('Europe/Berlin'));

...but i can't see an relation / connection between these to c开发者_如何学运维ode parts?!

What's happened here?

Thank you, for any idea.

//Update: as you can see at the comments, i'm using PHP 5.3.6 again: the code block 1 works, if i remove the code block 2


Looks like not all of array keys of $result is valid date strings. The DateTime class returns a new DateTime instance or FALSE on failure. And when $k is not valid, $timestamp is false, which is not an object.

0

精彩评论

暂无评论...
验证码 换一张
取 消