web-dev-qa-db-fra.com

Comment obtenir des heures à partir de Date dans PHP & Cakephp?

Je souhaite obtenir uniquement la date du début à l'aide de la fonction PHP & Cakephp.

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

$hours = ?
20
chetanspeed511987

Par heures, je suppose que vous voulez dire si l'heure est 20 heures ou 20:00 comme dans votre chaîne horaire alors ...

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

Je ne connais pas très bien les formats de date de PHP, vous devrez donc consulter PHP.net pour trouver le caractère de formatage approprié.

34
ShoeLace1291

Utilisez la classe Datetime (PHP 5.3 ou supérieur).

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

Du côté php, vous utilisez date('H',strtotime($date));

et côté mysql, vous pouvez utiliser DATE_FORMATE(NOW(),'%H') pour obtenir seulement une heure

$date contient une date comme le format '2014/08/14'

Pour convertir une date comme "2014/08/14" en "14-08-2014", vous devez utiliser 

date('d-m-Y',strtotime($date));

Ou utiliser

date('d-m-Y',strtotime(str_replace('/','-',$date)))
1
Affan

Pour les formats 24 heures et 12 heures, veuillez vérifier le code ci-dessous:

    $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

Pour référence s'il vous plaît vérifier: http://php.net/manual/en/function.date.php

1
krishna Prasad

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

0
Jose Luis

Meilleure façon d'utiliser 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');
0
Arthur Alagulyan