| Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS | ||||
07/5/03 - Existen en PHP una serie de funciones muy útiles para realizar cálculos de fechas, como por ejemplo, saber si una fecha es válida, obtener un dato concreto de una fecha, como el día, la hora o el día del mes o la semana.
En teoría, cualquier cálculo con fechas básico se puede realizar con las funciones que provee el lenguaje, que se pueden observar en la documentación de PHP, concretamente en la URL http://www.php.net/manual/es/ref.datetime.php
El problema del Timestamp Unix
Muchas de las funciones de PHP se basan en el Timestamp de Unix que es el número de segundos transcurridos desde las 00:00:00 del 1 de enero de 1970 GMT. Por ejemplo la utilísima función date(), que recibe un string con el formato que se desea para la fecha y un timestamp de Unix para introducir la fecha que se pretende formatear.
El problema que se encontrará con los cálculos de fecha es que el timestamp empieza a contar desde 1970. ¿Qué pasa con las fechas anteriores? Además, el timestamp, como estructura de datos, tiene un tamaño fijo, es decir, una capacidad limitada hasta el año 2038. En concreto soporta los siguientes intervalos de años:
Windows: desde 1970 hasta 2038
Unix: desde 1901 hasta 2038
Este artículo pretende dar a conocer un mecanismo para poder trabajar con fechas fuera de este intervalo.
Librería adodb_date_time_library
Existen varios métodos de solventar este problema, pero nosotros vamos a hablar de uno muy sencillo y fácil de utilizar. Se trata de la librería adodb_date_time, que se puede descargar y utilizar gratuitamente en nuestras aplicaciones.
Esta librería soporta fechas desde el año 100 D.C. hasta billones de años en el futuro.
Se puede descargar desde http://phplens.com/phpeverywhere/adodb_date_library
Para utilizarla, simplemente debemos sustituir algunas de las funciones típicas de fechas de PHP por las que implementa la librería.
getdate() reemplazar por adodb_getdate()
date() reemplazar por adodb_date()
gmdate() reemplazar por adodb_gmdate()
mktime() reemplazar por adodb_mktime()
gmmktime()reemplazar por adodb_gmmktime()
Nosotros ya hemos probado la librería con éxito en alguna creación nuestra, así que la recomendamos encarecidamente cuando supongamos que las fechas con las que vamos a trabajar se salen del intervalo del timestamp Unix.
Para ampliar esta información será imprescindible acceder a la página de inicio de la librería y enterarnos de todos los detalles sobre su uso.
http://phplens.com/phpeverywhere/adodb_date_library
| Autoría, licencia y acciones sobre este artículo | ||||||
|
Informe de Miguel Angel Alvarez*
Director de DesarrolloWeb.com Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright. * Para consultas técnicas utilizar la lista de correo.
|
| Comentarios sin revisar |
| Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente. |
| Ver los comentarios no revisados |
| Añadir un comentario del artículo |
| Enlaces: |
| Maestrosdelweb |
Lectura recomendada + PHP 5 Compra este libro en Agapea, la librería urgente a domicilio. |
||||||||||
Tienda DesarrolloWeb