Как получить часы от даты в PHP и Cakephp? - PullRequest
22 голосов
/ 26 июля 2011

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

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

$hours = ?

Ответы [ 6 ]

51 голосов
/ 26 июля 2011

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

$dt = DateTime::createFromFormat("Y-m-d H:i:s", "2011-07-26 20:05:00");
$hours = $dt->format('H'); // '20'
36 голосов
/ 26 июля 2011

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

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

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

1 голос
/ 13 апреля 2016

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

1 голос
/ 14 августа 2014

На стороне 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)))
0 голосов
/ 24 июля 2018

$pattern = '[0-9]{2}:[0-9]{2}'; preg_match('/'.$pattern.'/', '2011-07-26 20:05:00', $matches); echo $matches[0];

0 голосов
/ 09 декабря 2015

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

$my_sql_date = "2011-07-26 20:05:00";
$date_time_obj = new DateTime($my_sql_date);
echo $date_time_obj->format('H');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...