2009-08-25 27 views
9

Estoy buscando una biblioteca (fuente abierta) como Joda-Time en el mundo de Java. ¿Hay alguna biblioteca así?Ayudante de fecha y hora para PHP (como Joda-Time en Java)

Joda-Time es muy útil para calcular la fecha y la hora. Puedo agregar días, semanas, meses, años y también puedo convertir la fecha y la hora fácilmente.

Ojalá haya una biblioteca como Joda-Time para PHP.

Editar: Necesito algunas funciones que están disponibles en Joda-Time como daysBetween (para calcular el número de días entre 2 fechas), monthsBetween y weeksBetween ... Algunas funciones sobre agregar y restar fecha están disponibles desde el propio PHP.

Respuesta

0

No estoy familiarizado con Joda, pero lo que tomó un vistazo en DateTime? Hace todas las cosas (y algunas más) que has mencionado.

0

strtotime y date puede hacer maravillas a veces, sobre todo si se trabaja con fechas> = 1970 (es decir, que puede ser codificado como una marca de tiempo UNIX).

Si está utilizando una versión reciente de PHP, la clase DateTime (agregada en PHP 5.2, pero se agregaron varios métodos en PHP 5.3) podría ser útil también - otras clases de Date and Time también podrían ser útiles.

+0

gracias, sólo sabía sobre strtotime.:) strtotime es bueno, pero no hay funciones como, daysBetween, weeksBetween, monthsBetween. Joda tiene todo lo que necesito para jugar con la fecha. – nightingale2k1

-1

No hay necesidad de una biblioteca externa. PHP es más que capaz de esto ya.

<?php 
/** These examples work with the current time **/ 
echo strtotime("now"), "\n"; 
echo strtotime("10 September 2000"), "\n"; 
echo strtotime("+1 day"), "\n"; 
echo strtotime("+1 week"), "\n"; 
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n"; 
echo strtotime("next Thursday"), "\n"; 
echo strtotime("last Monday"), "\n"; 

/** This is a made up time **/ 
$lessMonth = strtotime("06/19/1986 3:00PM") 
$lessMonth = strtotime("-1 month", $lessMonth); 

echo $lessMonth, "\n"; 
echo gmdate('c', $lessMonth); 

/** 86 400 seconds in a day */ 
$daysBetween = (strtotime("now") - $lessMonth)/86400 
?> 
+16

La comparación de la función de fecha PHP estándar con Jodatime parece indicar que no ha pasado mucho tiempo con Jodatime ... ;-) – Guillaume

+2

¡Esto muestra exactamente lo que no debe hacer! Segundos de codificación dura es absolutamente incorrecto. Esto no tiene en cuenta: años bisiestos, ahorro de luz diurna, zonas horarias, ¡ni siquiera segundos! No hagas esto – MikeWallaceDev

0

Puede probar esta biblioteca para PHP Fecha y hora http://nuclearscripts.com/php/scripts-and-programs/date-and-time/php-date-library.html

Citando a partir de ahí

El PHP Fecha biblioteca es una colección de funciones nativas de PHP profesionales para trabajo con fechas. No requiere ninguna extensión de PHP. Esta biblioteca incluye las funciones más útiles para trabajar con las fechas. Incluye funciones para validar la fecha, cambiar la fecha dada cantidad de días, calcular la diferencia entre dos fechas, calcular el número de la semana para una fecha determinada y mucho más. Maneja correctamente los años bisiestos y es ISO compatible. El programador profesional ha pasado más de 3 días para estudiar el asunto, codificar la biblioteca, escribir el manual y ponerlo todo aquí.

No lo he probado personalmente.