Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Operacje na dacie, timestamp, strtotime
Sadu2
post
Post #1





Grupa: Zarejestrowani
Postów: 229
Pomógł: 13
Dołączył: 31.05.2007

Ostrzeżenie: (10%)
X----


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ę.

Ten post edytował Sadu2 12.01.2009, 16:41:55
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
ziqzaq
post
Post #2





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


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

Ten post edytował ziqzaq 12.01.2009, 16:58:48
Go to the top of the page
+Quote Post
kefirek
post
Post #3





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
Sadu2
post
Post #4





Grupa: Zarejestrowani
Postów: 229
Pomógł: 13
Dołączył: 31.05.2007

Ostrzeżenie: (10%)
X----


Działa pięknie! Dziękuje!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 20:28