Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Prze formatowanie daty
Forum PHP.pl > Forum > Przedszkole
meehow18
Witam, mam mały problem.
Do bazy danych zapisuję datę w formacie d-m-y, a do pewnej aplikacji jednorazowo potrzebuję y,m,d

Jak to zrobić w prosty sposób, aby od nowa nie dodawać specjalnie nowego rekordu właśnie w tym formacie.
CuteOne
  1. $exp = explode('-', $row['data']);
  2. echo $exp[2].'-'.$exp[1].'-'.$exp[0];


...
Kostek.88
Polecam Ci na przyszlosc zapoznanie sie z czasem uniksowym. Tu masz podstawowe info: http://pl.wikipedia.org/wiki/Czas_uniksowy

W bazie danych wystarczy zrobic pole typu INT i wszystko bedzie ladnie chulalo. Jak chcesz z takiego pola wyciagnac date to piszesz:

  1. $data_unix = // zakladamy, ze tu znajduje sie wartosc z pola daty
  2.  
  3. $data1 = date("d-m-Y", $data_unix);
  4. $data2 = date("Y-m-d", $data_unix);
  5. $data3 = date("m-d-Y", $data_unix);


Zeby tego bylo malo, mozesz wyciagnac z tego godziny, minuty i sekundy (H:i:s)
  1. $data1 = date("H:i:s", $data_unix);
  2. $data2 = date("Y/m/d", $data_unix);
  3. $data3 = date("d-m-Y H:i:s", $data_unix);

Aha, jeszcze przydatne funkcja:
strtotime - konwertuje daty do formaty uniksowego. Szczegoly w opisie.

Co jeszcze... jak chcesz zbudowac zapytanie mysql i wybrac np. starsze wiadomosci:
  1. SELECT id, tytul, tresc, FROM_UNIXTIME(data_uniksowa) AS DATA WHERE DATA < NOW() ORDER BY data_uniksowa DESC


Aha, jeszcze 1 informacja: jesli chcesz dodac unixowa date w phpMyAdmin, bezposrednio do bazy: Obok pola, do ktorego wprowadzasz dane, masz liste rozwijana, z ktorej wybierasz UNIX_TIMESTAMP smile.gif
skowron-line
  1. echo join('-', array_reverse(explode('-', '20-01-2011')));
r4xz
Cytat(meehow18 @ 27.11.2011, 01:16:36 ) *
Do bazy danych

DATE_FORMAT(date,format)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.