2011-07-26 16 views

Respuesta

26

Por horas Asumo que decir que si el tiempo es 8PM o 20:00 horas como lo es en la cadena de tiempo, entonces ...

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

no estoy tan familiarizado con Formatos de fecha de PHP por lo que tendrá que hacer referencia a PHP.net para el personaje de formato correcto para eso.

+0

Tendrás que usar strtotime() en $ date para que sea una marca de tiempo de unix antes de que esto funcione ... – 472084

+0

La primera versión realmente devolvió un error debido al formato de fecha, así que usa strtotime para reformatear la fecha a una marca de tiempo Unix. – ShoeLace1291

+0

La respuesta de Clement a continuación debería ser realmente la nueva respuesta aceptada. El uso de la clase DateTime sería la manera más confiable de hacerlo en 2017. strtotime puede dar resultados extraños a veces y usted está renunciando al control donde DateTime :: createFromFormat es mucho más confiable/consistente/predecible. – Wes

39

utilizar la clase Datetime (PHP 5.3 o superior).

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

Esto necesita PHP 5.3 o superior. – 472084

+8

De hecho. ¿Pero es un problema? –

+4

+1 Por ser moderno. – KingCrunch

1

Al lado php utiliza date('H',strtotime($date));

y al lado de MySQL se puede utilizar para obtener sólo DATE_FORMATE(NOW(),'%H') horas

$date contiene la fecha como el formato '' 14/08/2014

Para convertir la fecha como '14/08/2014' a '14 -08-2014' usted tiene que utilizar

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

o uso

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

mejor manera de utilizar DateTime clase

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

durante 24 horas y formato de 12 horas, por favor marque a continuación código:

$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 

Como referencia por favor marque: http://php.net/manual/en/function.date.php

Cuestiones relacionadas