【发布时间】:2014-07-26 05:40:46
【问题描述】:
我正在尝试使用 symfony 表单选择日期时间。 这是我的表格:
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('formation_date','datetime',array('label' => "Séance le :",
'widget' => 'single_text',
'format' => 'dd/MM/yyyy hh:mm',
'attr' => array('class' => 'date', 'readonly' => 'readonly')
))
;
}
我正在使用 jquery datetimepicker。 这是我在页面上调整数据的脚本:
<script type="text/javascript">
$(document).ready(function() {
$.datepicker.setDefaults(
$.extend(
{'dateFormat':'dd/mm/yy'},
$.datepicker.regional['fr']
)
);
$.timepicker.setDefaults(
$.extend(
{'timeFormat':'hh:mm:00'}
)
);
jQuery('.date').datetimepicker({
changeYear: true,
showButtonPanel: true,
monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
dayNamesShort: ['Dim.','Lun.','Mar.','Mer.','Jeu.','Ven.','Sam.'],
dayNamesMin: ['D','L','M','M','J','V','S'],
currentText: 'Aujourd\'hui',
closeText: 'Fermer',
prevText: 'Précédent',
nextText: 'Suivant',
minDate: "y",
maxDate: "+10y"
});
});
</script>
但是数据库中的时间不正确。虽然我发布了字符串'21/06/2014 12:00:00'(长度=19,但它在数据库和我的实体中是 00:00:00 在 handleRequest 之后。
> object(DateTime)[809]
public 'date' => string '2014-06-21 00:00:00' (length=19)
public 'timezone_type' => int 1
public 'timezone' => string '+00:00' (length=6)
我有 DateTime::__construct():无法在位置 0 (2) 解析时间字符串 (21/06/2014 12:00:00):意外字符 如果我尝试这样做:
$date = new DateTime($request->request->get('intranet_rhbundle_dateformation')["formation_date"]);
所以,我不知道如何解决它......
【问题讨论】:
-
不应该是
'format' => 'd/m/Y H:i',吗? -
在表格上?不,如果我这样说,我有:““格式”选项应该包含字母“y”、“M”和“d”。它的当前值是“d/m/YH:i”。” ^^
标签: php jquery mysql symfony datepicker