我有这个symfony4.3(最新)PHP应用程序,我试图使用Doctrine ORM插入数据库,我需要插入发生此查询的时间,但是我需要一个特定的时区,并且时区不会使用date_default_timezone_set()或setTimeZone()
$entityManager = $this->getDoctrine()->getManager();
date_default_timezone_set("America/Bahia");
$customer = new Customer();
$customer->setName($name);
$customer->setPhone($phone);
$dt = new \DateTimeImmutable(date('m/d/y G:i:s'));
$tz = new \DateTimeZone("America/Bahia");
$dt->setTimezone($tz);
$customer->setCreated($dt);
我希望创建的单元格中的时区更改为America / Bahia
实际输出: 欧洲/赫尔辛基 这是服务器的时区
答案 0 :(得分:0)
因此,事实证明是正确更改了时区并将正确的值存储在数据库中, 但是问题是,每次从数据库获取日期时间对象后,每次尝试从日期时间对象访问时区时,它只会显示php.ini文件的时区或其他内容,而不显示您实际用来存储日期时间的时区! 我认为,如果我们确实需要在插入或更新期间使用的确切时区,则需要将其存储在其他列中。