PHP - data i czas
Daktyle są tak ważną częścią codziennego życia, że łatwo jest z nimi pracować bez zastanowienia. PHP zapewnia również potężne narzędzia do arytmetyki dat, które ułatwiają manipulowanie datami.
Pobieranie znacznika czasu z czasem ()
PHP time()funkcja zapewnia wszystkie potrzebne informacje o aktualnej dacie i godzinie. Nie wymaga argumentów, ale zwraca liczbę całkowitą.
Liczba całkowita zwrócona przez time () reprezentuje liczbę sekund, które upłynęły od północy czasu GMT 1 stycznia 1970 r. Ten moment jest znany jako epoka systemu UNIX, a liczba sekund, które upłynęły od tego czasu, jest nazywana znacznikiem czasu.
<?php
print time();
?>
To da następujący wynik -
1480930103
To jest coś trudnego do zrozumienia. Ale PHP oferuje doskonałe narzędzia do przekształcania znacznika czasu w formę, która jest wygodna dla ludzi.
Konwersja znacznika czasu za pomocą getdate ()
Funkcja getdate()opcjonalnie akceptuje znacznik czasu i zwraca tablicę asocjacyjną zawierającą informacje o dacie. Jeśli pominiesz znacznik czasu, będzie on działał z bieżącym znacznikiem czasu zwróconym przez funkcję time ().
Poniższa tabela zawiera listę elementów zawartych w tablicy zwróconej przez getdate ().
Sr.No | Klucz i opis | Przykład |
---|---|---|
1 | seconds Sekundy po minucie (0–59) |
20 |
2 | minutes Minuty po godzinie (0 - 59) |
29 |
3 | hours Godziny dnia (0-23) |
22 |
4 | mday Dzień miesiąca (1 - 31) |
11 |
5 | wday Dzień tygodnia (0 - 6) |
4 |
6 | mon Miesiąc roku (1 - 12) |
7 |
7 | year Rok (4 cyfry) |
1997 |
8 | yday Dzień roku (0 - 365) |
19 |
9 | weekday Dzień tygodnia |
czwartek |
10 | month Miesiąc roku |
styczeń |
11 | 0 Znak czasu |
948370048 |
Teraz masz pełną kontrolę nad datą i godziną. Możesz sformatować tę datę i godzinę w dowolnym formacie.
Przykład
Wypróbuj następujący przykład
<?php
$date_array = getdate();
foreach ( $date_array as $key => $val ){
print "$key = $val<br />";
}
$formated_date = "Today's date: ";
$formated_date .= $date_array['mday'] . "/";
$formated_date .= $date_array['mon'] . "/";
$formated_date .= $date_array['year'];
print $formated_date;
?>
To da następujący wynik -
seconds = 10
minutes = 29
hours = 9
mday = 5
wday = 1
mon = 12
year = 2016
yday = 339
weekday = Monday
month = December
0 = 1480930150
Today's date: 5/12/2016
Konwersja znacznika czasu z datą ()
Plik date()funkcja zwraca sformatowany ciąg reprezentujący datę. Możesz sprawować ogromną kontrolę nad formatem, który date () zwraca z argumentem w postaci łańcucha, który musisz do niego przekazać.
date(format,timestamp)
Date () opcjonalnie akceptuje znacznik czasu, jeśli zostanie pominięty, zostanie użyta bieżąca data i czas. Wszelkie inne dane, które umieścisz w ciągu formatu przekazanym do date (), zostaną uwzględnione w zwracanej wartości.
Poniższa tabela zawiera listę kodów, które może zawierać ciąg formatu -
Sr.No | Format i opis | Przykład |
---|---|---|
1 | a Małe litery „am” lub „pm” |
po południu |
2 | A Wielkie litery „AM” lub „PM” |
PO POŁUDNIU |
3 | d Dzień miesiąca liczba z zerami na początku |
20 |
4 | D Dzień tygodnia (trzy litery) |
Czw |
5 | F Nazwa miesiąca |
styczeń |
6 | h Godzina (format 12-godzinny - zera wiodące) |
12 |
7 | H Godzina (format 24-godzinny - zera wiodące) |
22 |
8 | g Godzina (format 12-godzinny - bez wiodących zer) |
12 |
9 | G Godzina (format 24-godzinny - bez wiodących zer) |
22 |
10 | i Minuty (0–59) |
23 |
11 | j Dzień miesiąca (bez wiodących zer |
20 |
12 | l (Lower 'L') Dzień tygodnia |
czwartek |
13 | L Rok przestępny („1” oznacza tak, „0” oznacza nie) |
1 |
14 | m Miesiąc roku (liczba - zera wiodące) |
1 |
15 | M Miesiąc roku (trzy litery) |
Jan |
16 | r Data w formacie RFC 2822 |
Czw, 21 grudnia 2000 16:01:07 +0200 |
17 | n Miesiąc roku (liczba - bez wiodących zer) |
2 |
18 | s Sekundy godziny |
20 |
19 | U Znak czasu |
948372444 |
20 | y Rok (dwie cyfry) |
06 |
21 | Y Rok (cztery cyfry) |
2006 |
22 | z Dzień roku (0 - 365) |
206 |
23 | Z Przesunięcie w sekundach od GMT |
+5 |
Przykład
Wypróbuj następujący przykład
<?php
print date("m/d/y G.i:s<br>", time());
echo "<br>";
print "Today is ";
print date("j of F Y, \a\\t g.i a", time());
?>
To da następujący wynik -
12/05/16 9:29:47
Today is 5 2016f December 2016 at 9:29 am
Mam nadzieję, że dobrze rozumiesz, jak formatować datę i godzinę zgodnie z wymaganiami. Pełną listę wszystkich funkcji daty i czasu można znaleźć w rozdziale Funkcje daty i czasu PHP.