2013-06-27 55 views
1

我在显示日期时遇到格式问题。CakePHP和DateTimePicker格式

我使用jQuery的DateTimePicker(http://www.malot.fr/bootstrap-datetimepicker/)。

在形式I具有

<div class="input-append date" id="dp"> 
    <?php 
     echo $form->input('date',array('type' => 'text','div' => false, 'label' => 'Date')); 
    ?> 
    <span class="add-on"><i class="icon-remove"></i></span> 
    <span class="add-on"><i class="icon-calendar"></i></span> 
</div> 

与含有日期形式的数据,而脚本是

<script> 
    $('#dp').datetimepicker({ 
    format: 'd MM yyyy', 
     autoclose: 1, 
     forceParse: 1, 
     todayBtn: 1, 
     minView: 2 
    }); 
</script> 

表格日期的格式为 “YYYY-MM-DD” 和它显示在不管脚本中定义的格式如何,该格式的日期字段“日期”即“2013-03-25”而不是“2013年3月25日”。

在另一种情况下,当用户使用选取器选取日期时,根据脚本中的定义('d MM yyyy'),日期字段中显示的格式是正确的。

由于预期的提交日期格式应该是“yyyy-mm-dd”,并且上面的代码以格式“d MM yyyy”生成日期,所以第二个问题出现了。

我试过镜场,

$this->request->data['OSSS']['date_display'] = $this->request->data['OSSS']['date']; 
echo $form->input('date_display',array('type' => 'text','div' => false, 'label' => 'Date')); 
在html

,并在脚本

linkField = 'OSSSdate'; 
linkFormat = 'yyyy-mm-dd'; 

,然后再提交日期是正确的格式,但仍然与表单日期问题格式和显示格式。

有人有想法如何在datetimepicker中显示时格式化表单日期吗?

回答

1

我不确定你是否有工作。但是,这对我的作品......

<div class="control-group"> 
     <div class="input-append date controls" id="dp"> 
      <?php echo $this->Form->input('created',array('type' => 'text','div' => false, 'label' => false, 'wrapInput' => false));?> 

     <span class="add-on"><i class="icon-calendar"></i></span> 
    </div> 
</div> 

然后

$('#dp').datetimepicker({ 
    format: 'yyyy/MM/dd hh:mm:ss', //format: 'yyyy-MM-dd hh:mm:ss' either one works  
    language: 'en', 
    pick12HourFormat: true 
    }); 

这个工作对我来说,我的“创造”字段是时间字段。 MySQL 5.5