PHP posiada wiele funkcji, dzięki którym można przetwarzać zapis daty.
Podstawowym sposobem zapisu daty w systemie Unix i pochodnych jest tzw.
timestamp. Jest to ilość sekund jaka upłynęła od
1.1.1970 (moment ten nazywany jest Epoch). Zapis taki daje najwięcej
możliwości - łatwo go przetwarzać na inne zapisy, dodawać, odjemować
odpowiednie przedziały czasu i zapisywać w bazach danych.
Jedną z podstawowych spraw przy odbieraniu danych od użytkownika to
sprawdzenie ich poprawności. Funkcja checkdate()
przyjmuje 3 argumenty - odpowiedno miesiąc, dzień i rok (kolejność
może się wydawać nielogiczna, lecz w takiej kolejności Amerykanie
zapisuję datę), których poprawność ma być sprawdzony. Funkcja zwraca
logiczną wartość TRUE jeśli data jest poprawna.
Funkcja ta sprawdza, czy rok ma wartości pomiędzy 1 a 32767, miesiąc
między 1 a 12 a dzień od jeden do liczby zależnej od danego miesiąca.
Uwzględniane są lata przestępne. W poniższym przykładzie sprawdzane są
dane przekazane metodą GET. Dla wywołania
test.php?dzien=12&miesiac=10&rok=1992 skrypt wyświetli "Data
jest poprawna" a dla test.php?dzien=2&miesiac=14&rok=1980 -
"Data jest niepoprawna".
Przykład 12.1. Przykład skryptu sprawdzającego poprawność daty
<?php if (checkdate( $_GET['miesiac'], $_GET['dzien'], $_GET['rok'])) { echo 'Data jest poprawna'; } else { echo 'Data jest niepoprawna'; } ?>
|