Foros del Web » Programando para Internet » PHP »

transformar fecha: no me va

Estas en el tema de transformar fecha: no me va en el foro de PHP en Foros del Web. buenas, tengo una cadena con el siguiente formato: "aaaammddhhmmss"(ej:20051129231104).y he hecho una funcion que me la pasa a este formato: "aaaa-mm-dd hh:mm:ss".La funcion es esta: ...
  #1 (permalink)  
Antiguo 29/11/2005, 12:06
 
Fecha de Ingreso: noviembre-2005
Mensajes: 139
Antigüedad: 12 años
Puntos: 0
transformar fecha: no me va

buenas,
tengo una cadena con el siguiente formato: "aaaammddhhmmss"(ej:20051129231104).y he hecho una funcion que me la pasa a este formato: "aaaa-mm-dd hh:mm:ss".La funcion es esta:

function fecyhora($texto)
{
sscanf($texto, "%4s%2s%2s%2s%2s%2s ",$anio,$mes,$dia,$hora,$min,$seg);
$guion="-";
$espacio=" ";
$puntos=":";
$salida=$anio.$guion.$mes.$guion.$dia.$espacio.$ho ra.$puntos.$min.$puntos.$seg;
return $salida;
}
El problema es que lo que me devuelve es esto: "-- ::",no se porque no me coje las variables que me devuelve sscanf
gracias
  #2 (permalink)  
Antiguo 29/11/2005, 12:20
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
Parece correcto. ¿Estás seguro que la variable $texto está instanciada cuando entras a esta función?

Dos cosas que no sé si son correctas,
tienes un espacio al final de la cadena de formato del sscanf:
Código:
"%4s%2s%2s%2s%2s%2s "
Y tienes un espacio en la variable $hora:
Código:
$salida=$anio.$guion.$mes.$guion.$dia.$espacio.$ho ra.$puntos.$min.$puntos.$seg;
  #3 (permalink)  
Antiguo 30/11/2005, 09:32
 
Fecha de Ingreso: noviembre-2005
Mensajes: 139
Antigüedad: 12 años
Puntos: 0
a que te refieres con instanciada??
te pongo el codigo donde la llamo:

function metodatos($array)
{
$fecha=$array[3];
$inillam=fecyhora($fecha);//se lo paso a funcion fecyhora

return $inillam;
}

Y a metodatos la llamo de la siguiente manera:

while (!feof($archivo))
{
$campos=array();//inicializo el array
$linea=fgets($archivo,2000);
fseek($temp, 0);
fwrite($temp,$linea);
fseek($temp, 0);
$info=fgets($temp,2000);
$campos[]=rompelinea($info);
$var=metodatos($campos);
print_r($campos);
print("<br>");
print("$var");
}

Rompelinea simplemente me divide la cadena en elementos de un array(funciona bien)
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 07:12.