Как получить часы с даты в PHP и CakePHP?

Я хочу получить только часы с даты, используя функцию PHP & Cakephp.

$date = "2011-07-26 20:05:00"; $hours = ? 

Solutions Collecting From Web of "Как получить часы с даты в PHP и CakePHP?"

По часам я предполагаю, что вы имеете в виду, если время 8 вечера или 20:00 часов, как в вашей временной строке, тогда …

 $date = "2011-07-26 20:05:00"; $date = strtotime($date); echo date('H', $date); 

Я не знаком с форматами дат PHP, поэтому вам нужно будет ссылаться на PHP.net для правильного символа форматирования.

Используйте класс Datetime (PHP 5.3 или выше).

 $dt = DateTime::createFromFormat("Ymd H:i:s", "2011-07-26 20:05:00"); $hours = $dt->format('H'); // '20' 

На стороне php вы используете date('H',strtotime($date));

и на стороне mysql вы можете использовать DATE_FORMATE(NOW(),'%H') чтобы получить только час

$date содержит дату, такую ​​как формат «2014/08/14»

Чтобы конвертировать дату типа «2014/08/14» в «14 -08-2014», вам необходимо использовать

 date('dm-Y',strtotime($date)); 

ИЛИ использовать

 date('dm-Y',strtotime(str_replace('/','-',$date))) 

Лучший способ использования класса DateTime

 $my_sql_date = "2011-07-26 20:05:00"; $date_time_obj = new DateTime($my_sql_date); echo $date_time_obj->format('H'); 

Для 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 

Для справки, пожалуйста, проверьте: http://php.net/manual/en/function.date.php