Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Datetime a aktualna data
bahh
post
Post #1





Grupa: Zarejestrowani
Postów: 261
Pomógł: 2
Dołączył: 13.05.2012

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


Witam,

chcę zrobić moduł artykułow gdzie zamiast wyświtlenia normalnej daty dodania artykułu wyświetliłoby ile czasu minęło już od czasu dodania tzn z pola bazy danych datetime 2013-12-16 22:09:45 wyświetliło - 3 dni temu, gdyby artykuł był dodany 20 minut temu, wyświetliło - dodano 20 minut temu.

Wiem że można robić to na zasadzie ifów że sprawdzam czy jest aktualny dzień, to sprawdzi godzine, jeśli ta sama to minute i tak dalej. Jest jakaś prostrza i szybsza metoda czy tylko taka pozostaje?
Go to the top of the page
+Quote Post
gitbejbe
post
Post #2





Grupa: Zarejestrowani
Postów: 516
Pomógł: 63
Dołączył: 27.08.2012

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


odrobina chęci i jakimś zapewne cudem internet staje się wysypiskiem gotowców

http://www.mnk.pl/post/roznica-czasu-pomie...oma-datami.html

trochę więcej samodzielności
Go to the top of the page
+Quote Post
bahh
post
Post #3





Grupa: Zarejestrowani
Postów: 261
Pomógł: 2
Dołączył: 13.05.2012

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


za ten czas już sam naskrobałem funkcję na ifach, nie wiem czy będzie wyraźna różnica w szybkości?

  1. if (date_format($data, 'Y') == date("Y"))
  2. {
  3. if (date_format($data, 'm') == date("m"))
  4. {
  5. if (date_format($data, 'd') == date("d"))
  6. {
  7. if (date_format($data, 'H') == date("H"))
  8. {
  9. if (date_format($data, 'i') == date("i"))
  10. {
  11. if (date_format($data, 's') < 2)
  12. $dodano = date_format($data, 's').' sekunde temu';
  13. elseif (date_format($data, 's') >= 2 && date_format($data, 's') < 5)
  14. $dodano = date("s")-date_format($data, 's').' sekundy temu';
  15. else
  16. $dodano = date("s")-date_format($data, 's').' sekund temu';
  17. } else {
  18. if (date_format($data, 'i') < 2)
  19. $dodano = date("i")-date_format($data, 'i').' minute temu';
  20. elseif (date_format($data, 'i') >= 2 && date_format($data, 'i') < 5)
  21. $dodano = date("i")-date_format($data, 'i').' minuty temu';
  22. else
  23. $dodano = date("i")-date_format($data, 'i').' minut temu';
  24. }
  25. } else {
  26. if (date_format($data, 'H') < 2)
  27. $dodano = date("H")-date_format($data, 'H').' godzine temu';
  28. elseif (date_format($data, 'H') >= 2 && date_format($data, 'H') < 5)
  29. $dodano = date("H")-date_format($data, 'H').' godziny temu';
  30. else
  31. $dodano = date("H")-date_format($data, 'H').' godziny temu';
  32. }
  33. } else {
  34. if (date_format($data, 'd') < 2)
  35. $dodano = date("d")-date_format($data, 'd').' dzień temu';
  36. else
  37. $dodano = date("d")-date_format($data, 'd').' dni temu';
  38. }
  39. } else {
  40. if (date_format($data, 'm') < 2)
  41. $dodano = date("m")-date_format($data, 'm').' miesiąc temu';
  42. elseif (date_format($data, 'm') >= 2 && date_format($data, 'm') < 5)
  43. $dodano = date("m")-date_format($data, 'm').' miesiące temu';
  44. else
  45. $dodano = date("m")-date_format($data, 'm').' miesięcy temu';
  46. }
  47. } else {
  48. if (date_format($data, 'Y') < 2)
  49. $dodano = date("Y")-date_format($data, 'Y').' rok temu';
  50. elseif (date_format($data, 'Y') >= 2 && date_format($data, 'm') < 5)
  51. $dodano = date("Y")-date_format($data, 'Y').' lata temu';
  52. else
  53. $dodano = date("Y")-date_format($data, 'Y').' lat temu';
  54. }
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
nie wiem czy będzie wyraźna różnica w szybkości?
Zacznijmy od tego ze twoj skrypt dziala zle.....

Ktos dodal arta 2013-12-31 23:00
a ktos inny wejdzie na arta 2014-01-01 01:00
i pomimo, ze uplynela zaledwie godzina, to twoj kod pokaze, ze art byl napisany rok temu....


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 - 14:25