Funkcja date

Funkcja date wyświetla datę w zadanym formacie. Pierwszym parametrem funkcja przyjmuje format, a drugim opcjonalnym parametrem - moment czasu w formacie timestamp. Jeśli drugi parametr nie został podany - zostanie przyjęty bieżący moment czasu, jeśli podany - to zadany.

Format jest zadawany za pomocą poleceń sterujących (angielskimi literami), przy czym można wstawiać dowolne separatory między nimi (myślniki, dwukropek i tak dalej).

Funkcja przyjmuje następujące polecenia (wielkie litery różnią się od zwykłych, zwróć uwagę):

Składnia

phpdate(string $format, ?int $timestamp = null): string

Przykłady działania date

php<?php
  // Wszystkie przykłady pokazane dla daty 01.06.2013 o 12.23.59, poniedziałek
  
  echo date('Y'); // wypisze '2013'
  echo date('y'); // wypisze '13'
  echo date('m'); // wypisze '06' - numer miesiąca
  echo date('d'); // wypisze '01' - numer dnia w miesiącu
  echo date('j'); // wypisze '1'  - numer dnia w miesiącu (bez zera z przodu)
  echo date('w'); // wypisze '1'  - poniedziałek
  echo date('H'); // wypisze '12' - godziny
  echo date('i'); // wypisze '23' - minuty
  echo date('s'); // wypisze '59' - sekundy
  
  echo date('d-m-Y'); // wypisze '01-06-2013'
  echo date('d.m.Y'); // wypisze '01.06.2013'
  echo date('H:i:s d.m.Y'); // wypisze '12:23:59 01.06.2013'
?>

Drugi parametr funkcji date

Funkcja date ma drugi opcjonalny parametr, który przyjmuje moment czasu w formacie timestamp. Jeśli przekażesz ten parametr, to funkcja date sformatuje nie bieżący moment czasu, ale ten, który został przekazany drugim parametrem. Ten timestamp można uzyskać, na przykład, za pomocą mktime (ale niekoniecznie):

php<?php
  echo date('d-m-Y', mktime(0, 0, 0, 12, 29, 13)); // wypisze '29-12-2013'
?>

Można to wykorzystać, aby dowiedzieć się numer dnia tygodnia dla określonej daty - po prostu przekaż ją drugim parametrem za pomocą funkcji mktime, a jako pierwszy parametr ustaw znak sterujący 'w':

php<?php
  // Sprawdzimy jaki dzień tygodnia był 29-12-2013:
  echo date('w', mktime(0, 0, 0, 12, 29, 13)); // wypisze '0' - niedziela
?>

Zobacz też

  • funkcję mktime,
    która zwraca moment czasu w formacie timestamp