¿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 + 1 - 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.