Foros del Web » Programando para Internet » PHP »

Fecha Texto en excel a php

Estas en el tema de Fecha Texto en excel a php en el foro de PHP en Foros del Web. Hola.. soy nueva en esto... tengo un problema y he buscado mucho y no encuentro la solucion. tengo un archivo excel con varios datos y ...
  #1 (permalink)  
Antiguo 26/04/2012, 12:11
 
Fecha de Ingreso: abril-2008
Mensajes: 17
Antigüedad: 16 años
Puntos: 0
Fecha Texto en excel a php

Hola.. soy nueva en esto... tengo un problema y he buscado mucho y no encuentro la solucion.

tengo un archivo excel con varios datos y entre ellos fechas los estan en formato fecha, pero si los copio a otra hoja como pegado especial se pega como texto y un numero..

por ejemplo 11-06-10 = 40340 se convierte en ese numero

bueno la cosa es que estoy cargando el excel mediante php y cuando los leo la fecha se me lee como el numero no como la fecha y quiero transformalo a fecha para guardarlo en la base de datos postgress...

espero entiendan mi duda y me puedan ayudar he buscado mucho sin llegar a respuesta

nota. no puedo transformar nada del excel porque me lo envian...
  #2 (permalink)  
Antiguo 26/04/2012, 13:47
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Fecha Texto en excel a php

Excel almacena las fechas como enteros, donde 1 corresponde al primero de enero de 1900, por lo que tendrías que hacer una función para convertir ese número en una fecha adecuada para PHP.

El manejo de fechas "convencional" (Unix timestamp) de PHP inicia el primero de enero de 1970.

Entonces, se me ocurre que:
1- A la fecha obtenida desde excel le restas los días transcurridos hasta el 31 de diciembre de 1969
2- Multiplicas el resultado por 86400 y tendrás el timestamp adecuado para usar la función date() y aplicar el formato que desees

En PHP hay otras opciones para manejar fechas, pero creo que no se requieren en este caso.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 26/04/2012, 14:10
 
Fecha de Ingreso: abril-2008
Mensajes: 17
Antigüedad: 16 años
Puntos: 0
Respuesta: Fecha Texto en excel a php

gracias,... estaba haciendo algo parecido,. pero ya estaba colapsada.. probare lo que me dices por efectivamente siemopre me sale la fecha 31-12-1969

cualquier cosa comentare si dio resultado....
  #4 (permalink)  
Antiguo 26/04/2012, 19:21
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Fecha Texto en excel a php

Es muy posible que la librería que usas para leer excel ya incluya una conversión, pero si no, puedes usar esta micro función que hice:


Código PHP:
Ver original
  1. function fexcel2unix($f){
  2.     return ($f-25568)*86400;
  3. }

al pasarle la fecha numérica de excel te da el timestamp (fecha unix).
  #5 (permalink)  
Antiguo 27/04/2012, 07:17
 
Fecha de Ingreso: abril-2008
Mensajes: 17
Antigüedad: 16 años
Puntos: 0
Respuesta: Fecha Texto en excel a php

gracias por su ayuda.. resulta que tengo el numero convertido pero cuando realizo el

date("d-m-Y",16772140800)

me debería mostrar 28-06-2501

pero me muestra 29-01-1957

me imagino que es un problema de php que no soporta fechas tan lejanas o algo por el estilo.... sldos
  #6 (permalink)  
Antiguo 27/04/2012, 13:44
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Fecha Texto en excel a php

Php no soporta fechas más allá del 2038, al menos no de forma regular, por las limitaciones de 32 bits.

Pero puedes usar las librerías ADodb que te simplifican el proceso.

Etiquetas: excel, fecha
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 00:23.