我正在使用以下代码。
static::$timezone=new\DateTimeZone(date_default_timezone_get()?:'UTC');
"日期时间"=>\DateTime::createFromFormat('U.U',sprintf('%.6F',microtime(true)),static::$timezone)->setTimezone(静态::$timezone),
但我犯了错误。
致命错误:在非对象上调用成员函数setTimezone()
那么代码中有什么错误
无需在那里使用->setTimeZone
。只要确保static::$timezone
确实是一个DateTimeZone
对象,因为你已经给它提供了:
static::$timezone = new DateTimeZone('America/Los_Angeles');
然后在创建DateTime对象时:
'datetime' => DateTime::createFromFormat('U.u', sprintf('%.6F', microtime(true)), static::$timezone)