我如何转换我的日期对象以在 Symfony formbuilder 中使用它?
How can I convert my date object to use it in Symfony formbuilder?
我想在我的表单生成器中使用日期。
当我转储变量 $date
时,我得到输出:
DateTime @1536139353 {#2479 ▼
date: 2018-09-05 11:22:33.0 Europe/Paris (+02:00)
}
当我现在尝试像这样在我的表单构建器中使用它时:
$options['format'] = 'dd.MM.yyyy';
$options['data'] = new \DateTime($date);
然后我收到一条错误消息:
DateTime::__construct() expects parameter 1 to be string, object given
你可以只使用 strtotime
回显日期('Y-m-d H:i:s', strtotime($your_date_string));
或者您可以使用 DateTime::createFromFormat() 静态方法。
希望对你有所帮助
说明
DateTime
是一个对象,这里需要从对象中获取格式化后的字符串。
幸运的是,DateTime
对象提供了 format()
方法,该方法用于 return 将 date/time 作为所需格式的字符串。
在本例中 d.m.Y
,将输出 16.04.2020
。
(new \DateTime($date))->format('d.m.Y');
您的用例
您似乎正在使用已经是 DateTime
对象的 $date
来创建新的 DateTime
对象。这行不通,也没有必要。
由于$date已经是\DateTime的一个实例,可以直接使用
$options['format'] = 'dd.MM.yyyy';
$options['data'] = $date->format('d.m.Y');
来源
格式
要选择所需的格式,请查看此处的文档
https://www.php.net/manual/de/function.date.php
日期时间对象
构建时必须传递可解释的日期字符串。
https://www.php.net/manual/de/class.datetime.php
$date
已经是一个日期时间:
DateTime @1536139353 {#2479 ▼
date: 2018-09-05 11:22:33.0 Europe/Paris (+02:00)
}
所以不需要这样转换new \DateTime($date);
解决方法是:
$options['format'] = 'dd.MM.yyyy';
$options['data'] = $date;
我想在我的表单生成器中使用日期。
当我转储变量 $date
时,我得到输出:
DateTime @1536139353 {#2479 ▼
date: 2018-09-05 11:22:33.0 Europe/Paris (+02:00)
}
当我现在尝试像这样在我的表单构建器中使用它时:
$options['format'] = 'dd.MM.yyyy';
$options['data'] = new \DateTime($date);
然后我收到一条错误消息:
DateTime::__construct() expects parameter 1 to be string, object given
你可以只使用 strtotime
回显日期('Y-m-d H:i:s', strtotime($your_date_string));
或者您可以使用 DateTime::createFromFormat() 静态方法。
希望对你有所帮助
说明
DateTime
是一个对象,这里需要从对象中获取格式化后的字符串。
幸运的是,DateTime
对象提供了 format()
方法,该方法用于 return 将 date/time 作为所需格式的字符串。
在本例中 d.m.Y
,将输出 16.04.2020
。
(new \DateTime($date))->format('d.m.Y');
您的用例
您似乎正在使用已经是 DateTime
对象的 $date
来创建新的 DateTime
对象。这行不通,也没有必要。
由于$date已经是\DateTime的一个实例,可以直接使用
$options['format'] = 'dd.MM.yyyy';
$options['data'] = $date->format('d.m.Y');
来源
格式
要选择所需的格式,请查看此处的文档
https://www.php.net/manual/de/function.date.php
日期时间对象
构建时必须传递可解释的日期字符串。 https://www.php.net/manual/de/class.datetime.php
$date
已经是一个日期时间:
DateTime @1536139353 {#2479 ▼
date: 2018-09-05 11:22:33.0 Europe/Paris (+02:00)
}
所以不需要这样转换new \DateTime($date);
解决方法是:
$options['format'] = 'dd.MM.yyyy';
$options['data'] = $date;