我可以看到这个问题已被解决了好几次,我仔细阅读了所有主题,但可以找到解决我问题的方法。
以下是空的时候返回01-01-1970的代码:
$candidateid = '{gprh_fabrik_user_enrollment___id}';
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query ->select (array('gprh_fabrik_user_training_124_repeat.date_exa_2')) ->from('gprh_fabrik_user_enrollment') ->leftJoin('gprh_fabrik_user_enrollment_repeat_choix_formation ON gprh_fabrik_user_enrollment.id = gprh_fabrik_user_enrollment_repeat_choix_formation.parent_id') ->leftJoin('gprh_fabrik_user_training_124_repeat ON gprh_fabrik_user_enrollment_repeat_choix_formation.choix_formation = gprh_fabrik_user_training_124_repeat.id') ->leftJoin('gprh_fabrik_user_training ON gprh_fabrik_user_training_124_repeat.parent_id = gprh_fabrik_user_training.id') ->having('gprh_fabrik_user_enrollment.id = ' . $db->quote($candidateid)) ->group('gprh_fabrik_user_enrollment.id, gprh_fabrik_user_training_124_repeat.date_exa_2');
$db->setQuery($query);
$row = $db->loadObjectList();
foreach ($row as $item) { return date('d-m-Y', strtotime($item->date_exa_2)); };
在此感谢一些帮助。提前致谢。干杯,马克
答案 0 :(得分:0)
这将解决它。您只需在传递到$item->date_exa_2
strtotime()
是否为空
foreach($row as $item) {
return (!empty($item->date_exa_2)) ? date('d-m-Y', strtotime($item->date_exa_2)) : '';
}
答案 1 :(得分:-1)
日期函数:
日期('格式''时间戳&#39);
时间戳是一个从1970年1月1日的Unix纪元开始的计数。因此,时间戳只是特定日期和Unix纪元之间的秒数。
当$ item-> date_exa_2为空时,strtotime($ item-> date_exa_2)返回0(Unix Epoch为0秒),日期函数返回01-01-1970。
试试这个
foreach ($row as $item){
$time = strtotime($item->date_exa_2);
if($time){
return date('d-m-Y', $time);
}else{
return '';
}
};