Skąd pobierane są czas i data?
W skryptach PHP bardzo często odwołamy się do daty i czasu. Ponieważ wykonanie skryptu odbywa się po stronie serwera, również data i
czas, z którego skrypty skorzystają, zgodne będą z ustawieniami
serwera.
Funkcja date();
Jest to podstawowa funkcja zwracająca datą lub
czas (w zależności od podanych parametrów), np.
<?php
$data=date("Y-m-d");
echo"Wyświetlam dzisiejszą datą: $data";
?>
Efektem działania powyżsszego skryptu ędzie
wyświetlenie daty w formacie rok-miesiąc-dzień.
Poniżej kilka parametrów funkcji date(); Wszystkie można łączyć, lub używać osobno.
d - dwucyfrowy dzień
miesiąca, od 01 do 31
D - dzień tygodnia w postaci trzech
liter (od angielskich nazw), np.: Fri
F - pewna nazwa (angielska) miesąca
h - godzina w formacie 12-godzinnym,
tj. od 01 do 12
H - godzina w formacie 24-godzinnym,
tj. od 00 do 23
g - godzina w formacie 12-godzinnym bez
początkowych zer, tj. od 1 do 12
G - godzina w formacie 24-godzinnym bez
początkowych zer, tj. od 0 do 23
i - minuty od 00 do 59
j - dzień miesiąca bez początkowych
zer, tj. od 1 do 31
l - peżna (angielska) nazwa dnia
tygodnia
L - zwraca 0 jeżeli rok przestępny, lub
-1 jeżeli nie przestępny
m - miesiąc w postaci liczby
dwucyfrowej, tj. od 01 do 12
n - miesiąc bez początkowych zer, tj.
od 1 do 12
M - pierwsze trzy litery nazwy
(angielskiej) miesiąca
s - sekundy od 00 do 59
t - liczba dni w miesiącu, tj. od 28 do
31
w - dzień tygodnia w postaci
numerycznej, od 0 (niedziela) do 6 (sobota)
y - rok w postaci dwucyfrowej, na
przykład 02
Y - rok w postaci czterocyfrowej
z - dzień w roku, od 0 do 365
W powyższym skrypcie została wykorzystana funkcja
count();, która zwraca długość tablicy (liczbą indeksów) (nazwa
tablicy podana zostaje jako argument tej funkcji).
Ćwiczenie 8_1
- Parametry funkcji date()
-
Należy umieścić na swoim koncie WWW plik
08_01.php (do pobrania tutaj
08_01.zip).
-
Należy uruchomić skrypt i obejrzeć efekt jego działania.
-
Należy przeanalizować budowę skryptu porównując z objaśnieniami
parametrów funkcji date().
Zadanie 9
- Wyświetlenie informacji o dacie i czasie zgodnie z własnym
formatem
-
Należy umieścić na swoim koncie WWW plik
zadanie09.php
-
Skrypt powinien wyświetlić aktualnić datę w nastupującym
formacie:
Dzisiaj jest poniedziałek, 12 styczeń 2007 (nazwy dni tygodnia i
miesięcy powinny być wyświetlone w języku polskim).
Czas UNIX-owy, funkcja mktime();
Wszelkie obliczenia dotyczące czasu oparte są w PHP na tzw.
czasie UNIX-a. Oznacza to, że czas liczony jest w sekundach od
umownego terminu narodzin UNIX-a, czyli od 1 stycznia 1970 roku.
Dlatego też operacje na datach wcześniejszych niż przytoczona nie są
możliwe w PHP. Datą graniczną jest z
kolei rok 2038.
Jeżeli nie podamy parametrów funkcji mktime(),
zostanie wyświetlona liczba sekund od umownej daty do chwili
obecnej.
Funkcja mktime() posiada następujące parametry:
mktime(godzina, minuta, sekunda, miesiac, dzień, rok);
Jak widać kolejność parametrów wymaga uwagi.
Jeżeli zostanie pominięty któryś z parametrów, PHP przyjmie aktualny czas.
Korzystając z funkcji mktime() możemy sprawdzić, ile czasu
upłynęo pomiędzy okreśślonymi datami.
Sprawdzenie poprawności podanej daty
Funkcja checkdate(miesiąc,dzień,rok)
sprawdza czy podana data jest prawidłowa.
Parametr rok może być zawarty w przedziale: 1 - 32767
Parametr miesiąc może być zawarty w przedziale: 1 - 12
Parametr dzieś może być zawarty w przedziale: 1 - 31
Funkcja zwróci False, jeżeli podana data będzie nieprawidłowa, np.
31 kwietnia (miesiąc kwiecień ma 30 dni). Funkcja ta sprawdza
również poprawność wpisanych dat pod względem lat przestępnych.
Ćwiczenie 8_2 - obliczanie, ile dni upłynęło między podanymi
datami
- Należy umieścić na swoim koncie WWW plik 08_02.php (do
pobrania tutaj).
- Należy przeanalizować kod skryptu i komentarze w nim
zawarte.
- W ćwiczeniu 8_2 została zastosowana funkcja sprawdzania
poprawności formatu daty - należy sprawdzić działanie skryptu
podając niewłaściwą datę oraz przeanalizować mechanizm
sprawdzania.
Zadanie 10 - obliczanie czasu do lub od wybranego dnia
- Należy umieścić na swoim koncie WWW plik zadanie10.php
- Formularz powinien umożliwić wybór jednego z kilku
znaczących dni roku (święta i inne o starej dacie).
- Skrypt powinien wyświetlić ile dni pozostało lub upłynęło w
roku do/od zadanego dnia.
- Przykład działania skryptu znajduje się
tutaj
(wymagane połczenie z Internetem)
|