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?
De Foros del Web
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.
--chilenozzz 04 Nov 2007
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
