Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Operacje na dacie
Forum PHP.pl > Forum > Przedszkole
Sadu2
Witajcie,
Mam pole 'data' (timestamp) w tabeli, w której data zapisuje mi się tak:

2009-01-12 15:20:48

Teraz znalazłem taką funkcję:
http://www.999tutorials.com/tutorial-show-...t-with-php.html

Przykład użycia:

  1. <?php
  2. $testTime = strtotime("+1 week 2 days 4 hours 2 seconds")
  3. echo timeLeft($testTime);
  4. ?>


Dzięki której otrzymam date w formacie np.

35 dni, 16 godzin temu

Niestety nie mam bladego pojęcia jak mogę to połączyć, tzn wyświetlić datę z bazy i użyć na niej tą funkcję.
ziqzaq
strtotime() zwraca unixowy timestamp więc najpierw mysql UNIX_TIMESTAMP() żeby dostać timestamp unixowy z bazy danych (jak to stosować masz napisane w manualu, przejrzyj sobie winksmiley.jpg).
Ok, mamy timestamp z bazy, więc możemy go użyć w tej twojej funkcji - tylko pamiętaj że zgodnie z działaniem tej funkcji data z bazy musi być w przyszłości (chyba winksmiley.jpg).

Edit: poprawka ortografi smile.gif
kefirek
Zobacz tak
  1. <?php
  2. function ile($data) {
  3. $znacznik = strtotime($data);
  4. $wynik = time() - $znacznik;
  5. $minut = sprintf(floor($wynik /60)%60);
  6. $sekund = sprintf(floor($wynik)%60);
  7. $godzin = sprintf(floor($wynik/(60*60)%24));
  8. $dni = sprintf(floor($wynik/(60*60*24)));
  9. return "Dni $dni Godzin $godzin Minut $minut Sekund $sekund";
  10. }
  11.  
  12. echo ile('2009-01-12 15:20:48');
  13. ?>
Sadu2
Działa pięknie! Dziękuje!
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.