Tema: FAQ's de PHP
Ver Mensaje Individual
  #188 (permalink)  
Antiguo 04/11/2007, 17:27
Avatar de chilenozzz
chilenozzz
 
Fecha de Ingreso: junio-2004
Ubicación: Chile
Mensajes: 44
Antigüedad: 20 años, 5 meses
Puntos: 1
Exclamación Re: FAQ's de PHP

¿Cómo obtener la fecha en formato dd/mm/aaaa HH:MM:SS a partir de un campo "OleDate" (un campo fecha) desde un archivo Excel?

NOTA: Esto es válido para cuando se obtiene la fecha a partir de un Excel con la librería Spreadsheet_Excel_Reader de PEAR en PHP:

Código PHP:
$data->sheets[$numero_hoja]['cells'][$i][$j
El número que retorna es un DOUBLE. Por ejemplo, si la fecha es 01/09/2007 00:15:00, esto aparecerá como valor 39326.0104167.

Para regresar al formato válido en PHP, aplicar lo siguiente

Código PHP:
$fecha1 = (39326.0104167 25569.833299) * 86400
echo (
date("d/m/Y H:i:s",$fecha1)."<br />"); 
Esto retorna 01/09/2007 00:15:02

Como pueden ver, tiene un margen de error de 2 segundos. Esto se puede corregir jugando con el valor 25569.833299, agregando aún más decimales para hacer el cálculo más preciso.

Saludos.