![](/img/trans.png)
[英]How can I use the queryBuilder with formBuilder in Symfony 4?
[英]How can I convert my date object to use it in Symfony formbuilder?
我想在我的表單生成器中使用日期。
當我轉儲變量$date
時,我得到 output:
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
echo date('Ymd H:i:s', strtotime($your_date_string));
或者您可以使用 DateTime::createFromFormat() static 方法。
我希望對你有幫助
DateTime
是 object,您需要在此處從 object 獲取格式化字符串。
幸運的是, DateTime
object 提供了format()
方法,該方法用於將日期/時間作為所需格式的字符串返回。
在這個例子dmY
,這將是 output 16.04.2020
。
(new \DateTime($date))->format('d.m.Y');
看來您正在使用已經是DateTime
object 的$date
來創建新的DateTime
object。 這不起作用,也沒有必要。
由於 $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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.