PHP
Klasa Datetime
Szukaj…
getTimestamp
getTimeStemp
to uniksowa reprezentacja obiektu datetime.
$date = new DateTime();
echo $date->getTimestamp();
spowoduje to wyświetlenie liczby całkowitej wskazującej sekundy, które upłynęły od 00:00:00 UTC, czwartek, 1 stycznia 1970 r.
ustawić datę
setDate
ustawia datę w obiekcie DateTime.
$date = new DateTime();
$date->setDate(2016, 7, 25);
ten przykład ustawia datę na dwudziesty piąty lipca 2015 r., przyniesie następujący wynik:
2016-07-25 17:52:15.819442
Dodaj lub odejmij przedziały dat
Możemy użyć klasy DateInterval, aby dodać lub odjąć jakiś interwał w obiekcie DateTime.
Zobacz poniższy przykład, w którym dodajemy odstęp 7 dni i drukujemy komunikat na ekranie:
$now = new DateTime();// empty argument returns the current date
$interval = new DateInterval('P7D');//this objet represents a 7 days interval
$lastDay = $now->add($interval); //this will return a DateTime object
$formatedLastDay = $lastDay->format('Y-m-d');//this method format the DateTime object and returns a String
echo "Samara says: Seven Days. You'll be happy on $formatedLastDay.";
Spowoduje to wygenerowanie (uruchomione 1 sierpnia 2016 r.):
Samara mówi: siedem dni. Będziesz szczęśliwy 08.08.2016.
Możemy użyć metody podrzędnej w podobny sposób, aby odjąć daty
$now->sub($interval);
echo "Samara says: Seven Days. You were happy last on $formatedLastDay.";
Spowoduje to wygenerowanie (uruchomione 1 sierpnia 2016 r.):
Samara mówi: siedem dni. Ostatni raz byłeś szczęśliwy 25.07.2016.
Utwórz DateTime z niestandardowego formatu
PHP jest w stanie przeanalizować wiele formatów dat . Jeśli chcesz przeanalizować niestandardowy format lub chcesz, aby Twój kod wyraźnie DateTime::createFromFormat
format, który chcesz zastosować, możesz użyć statycznej metody DateTime::createFromFormat
:
Styl obiektowy
$format = "Y,m,d";
$time = "2009,2,26";
$date = DateTime::createFromFormat($format, $time);
Styl proceduralny
$format = "Y,m,d";
$time = "2009,2,26";
$date = date_create_from_format($format, $time);
Drukowanie daty i godziny
PHP 4+ dostarcza metodę, format, który konwertuje obiekt DateTime na ciąg o pożądanym formacie. Według PHP Manual jest to funkcja obiektowa:
public string DateTime::format ( string $format )
Funkcja date () przyjmuje jeden parametr - format, który jest łańcuchem
Format
Format jest ciągiem znaków i używa pojedynczych znaków do zdefiniowania formatu:
- Y : czterocyfrowa reprezentacja roku (np .: 2016)
- y : dwucyfrowa reprezentacja roku (np .: 16)
- m : miesiąc, jako liczba (od 01 do 12)
- M : miesiąc, jako trzy litery (styczeń, luty, marzec itp.)
- j : dzień miesiąca, bez zer wiodących (od 1 do 31)
- D : dzień tygodnia, jako trzy litery (pon., Wt., Śr. Itp.)
- h : godzina (format 12-godzinny) (od 01 do 12)
- H : godzina (format 24-godzinny) (od 00 do 23)
- Odp . : AM albo PM
- i : minuta, z wiodącymi zerami (od 00 do 59)
- s : sekunda, z wiodącymi zerami (od 00 do 59)
- Pełna lista znajduje się tutaj
Stosowanie
Znaków tych można używać w różnych kombinacjach, aby wyświetlać czasy w praktycznie dowolnym formacie. Oto kilka przykładów:
$date = new DateTime('2000-05-26T13:30:20'); /* Friday, May 26, 2000 at 1:30:20 PM */
$date->format("H:i");
/* Returns 13:30 */
$date->format("H i s");
/* Returns 13 30 20 */
$date->format("h:i:s A");
/* Returns 01:30:20 PM */
$date->format("j/m/Y");
/* Returns 26/05/2000 */
$date->format("D, M j 'y - h:i A");
/* Returns Fri, May 26 '00 - 01:30 PM */
Proceduralny
Format proceduralny jest podobny:
Obiektowy
$date->format($format)
Odpowiednik proceduralny
date_format($date, $format)
Utwórz niezmienną wersję DateTime z Mutable wcześniejszej wersji PHP 5.6
Aby utworzyć \DateTimeImmutable
w PHP 5.6+, użyj:
\DateTimeImmutable::createFromMutable($concrete);
W wersjach wcześniejszych niż PHP 5.6 można używać:
\DateTimeImmutable::createFromFormat(\DateTime::ISO8601, $mutable->format(\DateTime::ISO8601), $mutable->getTimezone());