我希望将在CakePHP中以数组格式返回的时间转换为MySQL中的24小时格式。 以下是代码:
$this->request->data['Rideoffer']['DepartureTime']
它返回:
array(
'hour' => '05',
'min' => '21',
'meridian' => 'am'
)
现在我希望将其转换为MySQL时间格式:00:00:00
- 24格式,以便我可以检索与此特定时间匹配的记录。
我该怎么做?
答案 0 :(得分:0)
cakephp helpers dateFormat会帮助你。
dateformat option
将允许您配置日期部分。
答案 1 :(得分:0)
当您使用FormHelper并且departure_time
字段上的数据类型为DATETIME
或TIME
时,Cake将“自动”“正确”处理所有查找和保存操作。
因此,实际数据数组包含单独的hour
,min
和meridian
字段这一事实不会影响它在数据库中的存储方式,这将很好地转换为{ {1}}模型或控制器中不需要任何其他逻辑。如果要查找与此时间匹配的所有记录,只需使用完整时间戳即可找到它。使用类似的东西:
05:21:00
<强>更新强>
在回复您的评论时,如果您想立即使用插入的值,请将其转换为DateTime对象并格式化您的条件。例如:
$this->Rideoffer->find('all', array(
'conditions' => array(
'Rideoffer.departure_time' => '05:21:00'
)
));
然后在查找中格式化日期:
$time =& $this->request->data['Rideoffer']['DepartureTime'];
$date = new DateTime($time['hour'] . ':' . $time['min'] . ' ' . $time['meridian']);