BAZA WIEDZY
KURSY
Bazy danych w PHP
Kurs AdvancedAJAX
Kurs ASP
Kurs ASP.NET
Kurs C++
Kurs CSS
Kurs HTML
Kurs HTML drugi
Kurs JavaScript
Kurs MySQL
Kurs PHP
Kurs RSS
Kurs XHTML
Obiekty DOM
MANUALE
CSS1 - W3C
DOM - w budowie
PHP 2005
PHP 2006
Wyrażenia regularne
SHOUTBOX
STAT
Online: 118 | UU: 3347

Formatowanie daty

PHP udostępnia kilka funkcji służących do zapisywania daty w preferowanym formacie. Podstawowa to date. Pierwszym jej argumentem jest ciąg tekstowy, który służy jako opis formatu. Każda litera wstawiona do tego ciągu zostanie zamieniona na pewien element daty. Na przykład litera 'Y' zostanie zamieniona na rok w postaci czterocyfrowej. Pełną listę elementów formatu można znaleźć w opisie funkcji date().

Przykład 12.5. Przykład użycia funkcji date


// Zakładając, że dzisiaj jest 7 luty 2005, 22:31:44

$today = date("F j, Y, g:i a");                 
// February 7, 2005, 22:31 pm
$today = date("m.d.y");                         
// 07.02.05
$today = date("j, n, Y");                       
// 7, 2, 2005
$today = date("Ymd");                           
// 20050207
$today = date('h-i-s, j-m-y, it is w Day z ');  
// 22-31-44, 7-02-05, 3128 3144 1 Monpm05 37
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   
// It is the 7th day.
$today = date("D M j G:i:s T Y");               
// Mon Feb 7 22:31:44 CET 2005
$today = date('H:m:s \m \t\o\ \m\i\e\s\i\a\c'); 
// 22:02:44 m to miesiac
$today = date("H:i:s");                         
// 22:02:44

Jak widać, większość liter ma swoje znaczenie, więc nie ma możliwości wstawienia zwykłego tekstu, oprócz zamieniania ich na sekwencje escape.

Domyślnie wyświetlana jest odpowiednio sformatowana data i czas bieżący. Można to zmienić podając opcjonalny, drugi parametr - czas w formacie timestamp. Wtedy format będzie dotyczył właśnie tego czasu.

Funkcja date wszelkie "tekstowe" wartości zwraca w języku angielskim. Istnieje jednak inna funkcja, strftime, która, podobnie jak funkcja date, służy do formatowania daty, jednak różni się trochę zachowaniem. Po pierwsze, elementy formatu (inne niż w funkcji date) są nie pojedyńczymi literami, ale zawsze poprzedzone są znakiem procenta, przez co można wstawiać do formatu zwykły tekst. Druga ważna różnica to uwzględnianie ustwień regionalnych systemu locale. Wystarczy ustawić odpowiednie locale (dla języka polskiego - pl_PL i strftime zacznie mówić po naszemu).

Przykład 12.6. Użycie funkcji strftime




<?php
   setlocale
(LC_TIME"pl_PL");
   echo 
strftime("%A");
?>

Powyższy program wyświetli:


poniedziałek

            
Copyright © 2006-2011 egrafik.pl | Kontakt | Reklama | Projekty domów
jocker