Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony时间输入和时区_Php_Time_Symfony - Fatal编程技术网

Php Symfony时间输入和时区

Php Symfony时间输入和时区,php,time,symfony,Php,Time,Symfony,我有一个具有时间属性的实体。 在表单中,我有一个时间类型。 我在表单中写入的时间正是存储在DB ex.14:54中的时间。但是当我从数据库里拿回来的时候,我得到了13分54秒。 我想这是一个时区问题,但我不知道如何处理这个问题。 我尝试设置model\u时区和view\u时区,但似乎没有任何改变。 我的问题是startTime的财产 编辑:这里有一些代码 实体 问题是你说的“时间”属性是什么意思。如果您将日期保存为我喜欢的日期,那么您将获得一个DateTime对象,您可以使用它 /** * @

我有一个具有时间属性的实体。 在表单中,我有一个时间类型。 我在表单中写入的时间正是存储在DB ex.14:54中的时间。但是当我从数据库里拿回来的时候,我得到了13分54秒。 我想这是一个时区问题,但我不知道如何处理这个问题。 我尝试设置
model\u时区
view\u时区
,但似乎没有任何改变。 我的问题是startTime的财产

编辑:这里有一些代码 实体
问题是你说的“时间”属性是什么意思。如果您将日期保存为我喜欢的日期,那么您将获得一个DateTime对象,您可以使用它

/**
 * @ORM\Column(type="datetime", nullable=true)
 */
private $mydate;
要配置时区,您应该查看服务器上的时区和日期设置是否正确,您可以在
php.ini
文件中设置时区

这里还有一篇文章可以帮助你解决一些问题


这是因为与
TimeType
字段相关的
Datetime
对象是使用默认日期
1970-01-01
构建的

将时间转换为用户时区时,
Datetime
对象使用1970年1月1日的夏令时进行计算


目前,一些时区的应用程序中没有夏令时,无法返回预期时间。

您能给我们展示一些代码,让我们知道我们在处理什么吗?我想知道的是,为什么它会存储我在表单中写入的准确时间值,当我从存储库中获取实体时,我会修改该值。如果您使用“datetime”而不是实体中的“datetimetz”?我得到了完全相同的结果。我写了12:14,它存储12:14,$startTime->format('H:I')写11:14然后在你的系统中的任何地方你的日期时间都不正确。试着在你的系统和你的php安装上聊天。做一个
phpinfo
并检查哪个时区被设置。php和mysql被设置为“Europe/Berlin”。
$builder
    ->add('startTime', 'time',['widget' => 'single_text','hours'=>$hours,"label"=>false,"attr"=>['class'=>'hidden']])
/**
 * @ORM\Column(type="datetime", nullable=true)
 */
private $mydate;