Php 为什么Symfony2 DateTime提前一天返回?
Php 为什么Symfony2 DateTime提前一天返回?,php,symfony,datetime,sonata-admin,Php,Symfony,Datetime,Sonata Admin,控制器中的我的代码: $yesterday = new \DateTime(); $yesterday->sub(new \DateInterval('P1D')); $customerReportForm->add('dateFrom', 'date', ['data'=> $yesterday 'attr' => array('class' => 'datepicker', "data-date-format"=>"yy-mm-dd")]);
控制器中的我的代码
:
$yesterday = new \DateTime();
$yesterday->sub(new \DateInterval('P1D'));
$customerReportForm->add('dateFrom', 'date', ['data'=> $yesterday 'attr' => array('class' => 'datepicker', "data-date-format"=>"yy-mm-dd")]);
$customerReportForm->add('dateTo', 'date', ['data'=>$yesterday,' 'attr' => array('class' => 'datepicker', "data-date-format"=>"yy-mm-dd")]);
我在同一控制器方法中有POST处理程序:
if($this->getRequest()->isMethod('POST'))
{
$dateFrom = $customerReportForm->get('dateFrom')->getData();
$dateTo = $customerReportForm->get('dateTo')->getData();
}
dateFrom
和dateTo
的值显示我在表单中被选中前一天的日期
例如,如果我将输入日期选择器“2015-30-12”,它将显示“2015-29-12”
为什么?
只需var\u dump(new DateTime())
即可显示正确的日期
PHP 5.5.29
Symfony-2.3我不明白你真正的问题是什么。。。 使用
$dayed->sub(new\DateInterval('P1D')代码>。你的约会通常比今天早
您在新的日期时间上使用了一个子函数php。我也不理解这里的问题。。。你能澄清一下吗?设置数据
属性会适得其反。请使用控制器/表单代码更新您的问题…^^^听起来您没有处理传入的请求。您应该使用Request$Request
键入提示控制器操作,而不必使用$this->getRequest()
,并且还需要调用$customerReportForm->handleRequest($Request)
否,它是表单中的默认值。我在datepicker中更改它并提交