Foros del Web » Programando para Internet » PHP »

fechaformatoespañol => timestamp

Estas en el tema de fechaformatoespañol => timestamp en el foro de PHP en Foros del Web. Si setlocale + strtime sirve para que un timestamp sea impreso en formato fecha local hispano, qual seria la funcion inversa que transformara una fecha ...
  #1 (permalink)  
Antiguo 23/08/2004, 04:42
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 13 años, 11 meses
Puntos: 0
fechaformatoespañol => timestamp

Si setlocale + strtime sirve para que un timestamp sea impreso en formato fecha local hispano, qual seria la funcion inversa que transformara una fecha en formato hispano a timestamp?

Código PHP:
setlocale (LC_ALL"sp");
print (
strftime ("La fecha es %A %d de %B de %Y.\n",mktime(0,0,0,2,4,2004))); 
Resultado: La fecha es miércoles 04 de febrero de 2004

Lo que se quiere es algo parecido a esto, pero strtotime requiere que la fecha esté en inglés:
Código PHP:
setlocale (LC_ALL"sp");
$fechaenespañol '22 agosto 2004 09:14:41';
print (
strtotime($fechaenespañol); 

Nota: La función inversa se puede hacer usando explode + mktime.
  #2 (permalink)  
Antiguo 23/08/2004, 07:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usando un array tendrías resuelto el problema de obtener el nº de mes que necesitas para atacar tu mktime() .. El array sería asociativo:

Código PHP:
<?
$fechaenespanol 
'22 agosto 2004 09:14:41'// no uses ñ como nombre de una variable ...
$partes_fecha=explode(' ',$fechaenespanol);
$partes_hora=explode(':',$partes_fecha[3]);

$meses=array("enero"=>1,"febrero"=>.. etc);

echo 
mktime ($partes_hora[0],$partes_hora[1],$partes_hora[2],$meses{$partes_fecha[1]},$partes_fecha[0],$partes_fecha[2]);

?>
Un saludo,
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 20:00.