Подтвердить что ты не робот

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

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

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

$hours = ?
4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

Ответ 3

На стороне 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)))

Ответ 4

Лучший способ использования 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');

Ответ 5

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