我希望使用PHP& Cakephp功能。
$date = "2011-07-26 20:05:00";
$hours = ?
答案 0 :(得分:50)
使用Datetime
类(PHP 5.3或更高版本)。
$dt = DateTime::createFromFormat("Y-m-d H:i:s", "2011-07-26 20:05:00");
$hours = $dt->format('H'); // '20'
答案 1 :(得分:36)
按小时我假设你的意思是时间是晚上8点或20点,就像你的时间字符串那样......
$date = "2011-07-26 20:05:00";
$date = strtotime($date);
echo date('H', $date);
我不熟悉PHP的日期格式,因此您必须引用PHP.net以获取正确的格式字符。
答案 2 :(得分:1)
在php端,您使用date('H',strtotime($date));
在mysql方面你可以使用DATE_FORMATE(NOW(),'%H')
来获得小时
$date
包含类似于' 2014/08/14'格式
转换日期,例如' 2014/08/14'至' 14-08-2014'你必须使用
date('d-m-Y',strtotime($date));
或使用
date('d-m-Y',strtotime(str_replace('/','-',$date)))
答案 3 :(得分:1)
对于24小时和12小时格式,请查看以下代码:
$date = "2011-07-26 20:05:00";
echo $hours = date('G', strtotime($date)); // In 24-hour format of an hour without leading zeros
echo '<br>';
echo $hours = date('g', strtotime($date)); // 12-hour format of an hour without leading zeros
// For current timestamp
echo $hours = date('G'); // In 24-hour format of an hour without leading zeros
echo '<br>';
echo $hours = date('g'); //12-hour format of an hour without leading zeros
答案 4 :(得分:0)
使用DateTime类
的最佳方式$my_sql_date = "2011-07-26 20:05:00";
$date_time_obj = new DateTime($my_sql_date);
echo $date_time_obj->format('H');
答案 5 :(得分:0)
$pattern = '[0-9]{2}:[0-9]{2}';
preg_match('/'.$pattern.'/', '2011-07-26 20:05:00', $matches);
echo $matches[0];