Foros del Web » Programando para Internet » PHP »

Convertir hora en formato AM/PM a formato de 24 horas

Estas en el tema de Convertir hora en formato AM/PM a formato de 24 horas en el foro de PHP en Foros del Web. Hola a todos: ¿Existe alguna función en PHP que tome un valor expresado en horas con am y pm y lo pase a 24 horas? ...
  #1 (permalink)  
Antiguo 17/11/2006, 22:54
Avatar de Escoffie  
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Convertir hora en formato AM/PM a formato de 24 horas

Hola a todos:

¿Existe alguna función en PHP que tome un valor expresado en horas con am y pm y lo pase a 24 horas?

Por ejemplo, dada la cadena 12:05am lo pase a 00:05hrs. y el valor 08:00pm lo pase a 20:00hrs.

Lo único que se me ocurre es buscar las cadenas am, AM a.m., A.M., pm, etc usando expresiones regulares y con base en eso sumar las 12 horas a los pm y todo lo que eso implica.

¿Alguien tiene alguna idea?

Saludos y gracias.
  #2 (permalink)  
Antiguo 17/11/2006, 23:29
Avatar de Escoffie  
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Ya lo resolví.

Al final fue muy sencillo:
Código PHP:
$cadena "11:45pm";
$cadena strtotime($cadena);
$cadena date("H:i"$cadena);
echo 
$cadena."<br />";
// devuelve 23:45
$cadena "10:45 pm";
$cadena strtotime($cadena);
$cadena date("H:i"$cadena);
echo 
$cadena."<br />";
// devuelve 22:45
$cadena "9:45 PM";
$cadena strtotime($cadena);
$cadena date("H:i"$cadena);
echo 
$cadena."<br />";
// devuelve 21:45
$cadena "08:45 a.m.";
$cadena strtotime($cadena);
$cadena date("H:i"$cadena);
echo 
$cadena."<br />";
// devuelve 08:45 
$cadena "20:45:00";
$cadena strtotime($cadena);
$cadena date("H:i"$cadena);
echo 
$cadena."<br />";
// sigue siendo 20:45 pero sin segundos 
De todos modos, si alguien sabe de otra manera más eficiente o robusta, se aceptan ideas.
  #3 (permalink)  
Antiguo 15/07/2008, 11:38
Avatar de eduardoartemis  
Fecha de Ingreso: abril-2006
Mensajes: 4
Antigüedad: 18 años
Puntos: 0
Sonrisa Respuesta: Convertir hora en formato AM/PM a formato de 24 horas

Hola a todos y si yo deseo a la inversa:

¿Existe alguna función en PHP que tome un valor expresado en 24 horas y lo pase a 12 horas am/pm?

Por ejemplo, dada la cadena 00:05hrs lo pase a 12:05am

¿Alguien tiene alguna idea?

Saludos y muchas gracias de antemano
  #4 (permalink)  
Antiguo 02/07/2009, 22:25
 
Fecha de Ingreso: julio-2009
Mensajes: 1
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Convertir hora en formato AM/PM a formato de 24 horas

Hola a todos, aunque el tema ya tiene bastante inactividad pongo este codigo PHP para pasar de formato 24 horas a 12 horas am/pm, por si alguien mas lo necesita:

echo date("g:i a",strtotime("00:05:00"));

ó tambien

echo date("g:i a",strtotime("00:05"));

generan el mismo resultado: 12:05 am
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:07.