获取字符串而不是 DateTime 对象(Symfony 2.8 和日期表单字段)
getting a string instead of a DateTime object (Symfony 2.8 and date form fields)
目前返回的值是这种格式:
var_dump($form->getData());
object(DateTime)#515 (3) { ["date"]=> string(19) "2016-08-03 00:00:00" ["timezone_type"]=> int(1) ["timezone"]=> string(18) "my-timezone-here" }
我只想要一个简单的 text/string 值。
这是字段定义
->add(
"studentdob"
, "date"
, array(
"attr" => array(
"class" => "normal"
, "placeholder" => "YYYY-DD-MM"
)
, "format" => "yyyy-dd-MM"
, "required" => false
, "widget" => "single_text"
)
)
我查看了网络和 Symfony 的参考页面,我能找到的唯一可能相关的是 "data_class"。但是看看我在 Symfony.com 中找到的示例,我认为这不是我想要的。
谢谢
这就是 date field type 在 symfony 中的工作方式。如果你想在你的控制器中使用一个简单的日期时间字符串,你应该像这样获取它:
$form->getData()->format('Y-m-d H:i:s');
随时根据您的要求更改日期格式!
您可能想要处理时区。因此,请查看上面链接的 document
,了解如何将 model_timezone
和 view_timezone
传递给字段类型。
目前返回的值是这种格式:
var_dump($form->getData());
object(DateTime)#515 (3) { ["date"]=> string(19) "2016-08-03 00:00:00" ["timezone_type"]=> int(1) ["timezone"]=> string(18) "my-timezone-here" }
我只想要一个简单的 text/string 值。
这是字段定义
->add(
"studentdob"
, "date"
, array(
"attr" => array(
"class" => "normal"
, "placeholder" => "YYYY-DD-MM"
)
, "format" => "yyyy-dd-MM"
, "required" => false
, "widget" => "single_text"
)
)
我查看了网络和 Symfony 的参考页面,我能找到的唯一可能相关的是 "data_class"。但是看看我在 Symfony.com 中找到的示例,我认为这不是我想要的。
谢谢
这就是 date field type 在 symfony 中的工作方式。如果你想在你的控制器中使用一个简单的日期时间字符串,你应该像这样获取它:
$form->getData()->format('Y-m-d H:i:s');
随时根据您的要求更改日期格式!
您可能想要处理时区。因此,请查看上面链接的 document
,了解如何将 model_timezone
和 view_timezone
传递给字段类型。