Skip to main content

Polski format daty

Jedną z bardziej irytujących mnie rzeczy, jest niestosowanie się do regionalnych ustawień dotyczących dat, liczb itd.

Samowolka występuje w zasadzie wszędzie, od instytucji finansowych jak banki, po wszelkiego rodzaju urzędy.

Polski format daty określa norma PN-EN 28601 (ISO 8601) i większość krajów Europy stosuje się do tego formatu, czyli DMY (dzień, miesiąc, rok).

Przykład 1

Formatowanie daty w MySQL:

SELECT DATE_FORMAT(NOW(), GET_FORMAT(DATE, 'EUR'))

Wynik:
04.06.2014

Przykład 2

Formatowanie daty w MySQL – wersja 2:

SELECT DATE_FORMAT(NOW(), '%d.%m.%Y')

Wynik:
04.06.2014

Celowo nie poruszam tutaj zasadności formatowania daty za pomocą SZBD MySQL.
Wszystko zależy od tego, czy realizujesz projekt międzynarodowy, gdzie stosowane są rożne strefy czasowe i formaty dat.

Przykład 3

Formatowanie daty w PHP:

echo date('d.m.Y');

Przykład 4

Formatowanie daty MySQL w PHP:

$mysql_date = ('2014-06-04 12:00:00');
echo date('d.m.Y', strtotime($mysql_date));

Przykład 5

Przykład trochę szybszy od poprzedniego, który unika podwójnego formatowania:

$mysql_date = 1401876000; // SELECT UNIX_TIMESTAMP('2014-06-04 12:00:00');
echo date('d.m.Y', $mysql_date);

Przykład 6

Przykład ten wykorzystuje funkcję setlocale() do zmiany ustawień regionalnych.

Aktualne ustawienia otrzymamy przez wywołanie:

echo setlocale(LC_TIME, 0);

Wynik:

Home.pl Nazwa.pl
C pl_PL

Ustawienie polskiego języka i kodowania znaków:

setlocale(LC_TIME, 'pl_PL.UTF-8');

W zależności od systemu, kody języków mogą się różnić, dlatego zazwyczaj podajemy kilka opcjonalnych argumentów, np.:

setlocale(LC_TIME, 'pl', 'pl_PL', 'polish');

Od tej chwili możemy korzystać z funkcji strftime(), która uzależnia wynik swojego działania od ustawień regionalnych.

Format Home.pl Nazwa.pl
strftime(’%c’) – preferowana reprezentacja daty i czasu zgodnie z lokalizacją śro, 4 cze 2014, 19:56:35 śro 04 cze 2014 19:56:09 CEST
strftime(’%x’) – preferowana reprezentacja daty, zgodnie z lokalizacją, bez czasu 04.06.2014 2014-06-04

W przypadku Nazwa.pl mamy pierwszy ZONK.
Nie zawsze ustawienia serwera są poprawne i nie zawsze można na nich polegać.

Źródło zdjęcia: https://www.facebook.com/skladkizus

markac

Full-stack Web Developer

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.