Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] jak zmienić format daty
Forum PHP.pl > Forum > Przedszkole
itson
data którą pobieram z bazy mysql wygląda np tak: 2007-11-11 14:10:39 jak mogę zmienić jej format, nie obchodzi mnie godzina więc chciałbym zostawić tylko 2007-11-11, a najlepiej jak by to wyglądało tak 11-11-2007

ps. sorry na tak debilne pytanie, aż mi wstyd o to pytać ale nigdzie nie mogę znaleźć
Foxx
Na pewno da się prościej operując funkcjami czasu ale na początek może tak:
  1. <?php
  2. $dane = "2007-11-11 14:10:39"; 
  3. $data = explode(" ", $dane);
  4. $parts = explode("-", $data[0]);
  5.  
  6. echo date("d-m-Y", mktime(0,0,0,$parts[2],$parts[1],$parts[0]));
  7. ?>
drPayton
Funkcja date-format
polak89
Mam pytanie...pobieram z bazy danych date w formacie Y-m-d natomiast chce ja wyswietlic w postaci np. 11 listopada 2007 czy jest na to jakis sposob? pomocy worriedsmiley.gif
Foxx
Dwa poprzednie posty dotyczą właśnie tego.
polak89
Przyjacielu...zauwazylem czego dotycza 2 poprzednie posty...tylko nie ma w nich odpowiedzi na moje pytania...pobieram date rr-mm-dd natomiast chce ja wyswietlic w sposob slowny tj. zamiast np. 2007.11.10 chce uzyskac 10 listopada 2007. Chodzi mi o slowny opis danego miesiaca...pozdrawiam
nospor
  1. <?php
  2. $arrLocale = array( "pl_PL", "polish_pol" );
  3. setlocale( LC_ALL, $arrLocale );
  4. $date = '2007-11-12';
  5. echo strftime('%d %B %Y', strtotime($date));
  6. ?>
Grzyw
Cytat(polak89 @ 12.11.2007, 12:38:28 ) *
pobieram date rr-mm-dd natomiast chce ja wyswietlic w sposob slowny tj. zamiast np. 2007.11.10 chce uzyskac 10 listopada 2007. Chodzi mi o slowny opis danego miesiaca

  1. <?php
  2. $data = exlode('-',$dataPobrana);
  3.  
  4. switch($data[1])
  5. {
  6. case '01':
  7. $miesiac = 'stycznia';
  8. break;
  9. case '02':
  10. $miesiac = 'lutego';
  11. break;
  12. # (..................)
  13. case '12':
  14. $miesiac='grudnia';
  15. break;
  16. }
  17. $dataGotowa = $data[0].' '.$miesiac.' '.$data[2];
  18. ?>
polak89
if (mysql_num_rows($results)) {
echo "<div class=\"class1\">\n";
while ($row = mysql_fetch_array($results)) {
echo "<span class=\"date\">" .
date("d m Y", strtotime($row['date'])) .
"</span>\n";
echo "<p class=\"body\">\n" .
nl2br(htmlspecialchars($row['body'])) .
"\n</p>\n";




}

}

jak zastosowac Twoje rozwiazanie do mojego przykladu?? wybacz ale troche nie rozumiem blinksmiley.gif

if (mysql_num_rows($results)) {
echo "<div class=\"class1\">\n";
while ($row = mysql_fetch_array($results)) {
echo "<span class=\"date\">" .
date("d m Y", strtotime($row['date'])) .
"</span>\n";
echo "<p class=\"body\">\n" .
nl2br(htmlspecialchars($row['body'])) .
"\n</p>\n";




}

}

jak zastosowac Twoje rozwiazanie do mojego przykladu?? wybacz ale troche nie rozumiem blinksmiley.gif

Cytat(nospor @ 12.11.2007, 12:59:40 ) *
  1. <?php
  2. $arrLocale = array( &#092;"pl_PL\", \"polish_pol\" );
  3. setlocale( LC_ALL, $arrLocale );
  4. $date = '2007-11-12';
  5. echo strftime('%d %B %Y', strtotime($date));
  6. ?>


jeszcze jedno pytanko: czy ten skrypt poprawnie wyświetli polskie znaki w nazwach poszczególnych miesiecy w kodowaniu iso-8859-2??
nospor
1) uzywaj bbcode
2) nie duplikuj tresci w poscie

ustawienie locali daj przed petla. a w petli zamiast moje $date daj swoja date z bazy. czego tu nie rozumiec?

Co do kodowania to sprawdź tongue.gif
Lub mozesz zajrzed do manuala do setlocale() i przejrzec komentarze, ktore mowia co i jak z kodowaniem. Ale do tego trzeba troche wlasnej inicjatywy, ktorej u ciebie, poki co, brakuje.
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.