2009-08-25 5 views
9

Szukam biblioteki (open source), takiej jak Joda-Time w świecie Java. Czy istnieje taka biblioteka?Pomocnik daty i czasu dla PHP (np. Joda-Time w Javie)

Joda-Time pomaga kalkulować datę i godzinę. Mogę dodać dni, tygodnie, miesiące, lata, a także łatwo konwertować datę i godzinę.

Żałuję, że nie ma biblioteki takiej jak Joda-Time for PHP.

Edycja: Potrzebuję niektórych funkcji dostępnych w Joda-Time takich jak dni między (do obliczenia liczby dni między 2 datami), miesięcy między nimi i tygodniami ... Niektóre funkcje dotyczące dodawania i odejmowania daty są dostępne w samym PHP.

Odpowiedz

0

nie jestem zaznajomiony z Joda, ale pan przyjrzał do DateTime? Robi wszystkie rzeczy (i jeszcze więcej), o których wspomniałeś.

0

strtotime i date może czasem zdziałać cuda, zwłaszcza jeśli pracujesz z datami> = 1970 (tj, które mogą być kodowane w formacie UNIX timestamp).

Jeśli używasz najnowszej wersji PHP, klasa DateTime (dodana w PHP 5.2, ale kilka metod zostało dodanych w PHP 5.3) też może być pomocna - inne klasy Date and Time również mogą pomóc.

+0

dzięki, po prostu wiedział o strtotime.:) strtotime jest ładne, ale nie ma żadnych funkcji, takich jak, dni między, tygodnie, miesiące, miesiące. joda ma wszystko, czego potrzebuję do grania z datą. – nightingale2k1

-1

Nie ma potrzeby korzystania z biblioteki zewnętrznej. PHP już to potrafi.

<?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

Porównując standardową funkcję daty PHP z Jodobime wydaje się wskazywać, że nie spędziłeś zbyt wiele czasu z Jodobime ... ;-) – Guillaume

+2

To pokazuje dokładnie to, czego nie powinieneś robić! Twarde czasy kodowania są absolutnie błędne. Nie uwzględnia to: lat przestępnych, czasu letniego, stref czasowych, a nawet sekund przestępnych! Nie rób tego. – MikeWallaceDev

0

Można spróbować tej biblioteki dla PHP Data i czas http://nuclearscripts.com/php/scripts-and-programs/date-and-time/php-date-library.html

Cytowanie stamtąd

PHP Data Biblioteka jest zbiorem profesjonalnych lektorów funkcji PHP do pracy z datami. Nie wymaga on żadnych rozszerzeń PHP. Ta biblioteka zawiera najbardziej przydatne funkcje do pracy z datami. Obejmuje funkcje do potwierdzania daty, daty przesunięcia o podaną ilość dni, obliczyć różnicę między dwiema datami, obliczyć tydzień numer dla podanej daty i wiele więcej. Prawidłowo obsługuje lata przestępne i jest zgodny z normą ISO . Profesjonalny programista spędził 3+ dni na przestudiowaniu tematu, zakodować bibliotekę, napisać instrukcję obsługi i napisać i umieścić wszystko tutaj.

Nie przetestowałem tego osobiście.

Powiązane problemy