Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pokazywanie daty w formie 4 dni temu .. itp
acztery
post
Post #1





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


Szukam skryptu na szybko który bedzie pokazywal mi date 4 dni temu, 5 dni temu, 6 dni temu 1 tydzien temu, 22.09.207 albo 1 minute temu itp... ma moze ktos takie cos ( to jest tu na forum ) fajnie by było jak by wyliczało date na podstawie time();
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
JamalBIG
post
Post #2





Grupa: Zarejestrowani
Postów: 496
Pomógł: 1
Dołączył: 16.01.2008
Skąd: Świnoujście

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


Wrzucilem i dziala ale co bym nie wpisal w zmiennej $timestamp ciagle wyswietla sie 'przed chwila'...

  1. <?php
  2. /*
  3.  SPOSÓB UŻYCIA:
  4.  $wynik = getDiff($time);
  5.  
  6.  $time = czas zwrócony przez funkcję time()
  7. */
  8. $time = time();
  9. $timestamp = "2008-09-06 20:37:52";
  10.  
  11. function getMinutes($minut)
  12. {
  13. // j.pol
  14. switch($minut)
  15. {
  16. case 0: return 0; break;
  17. case 1: return 1; break;
  18. case ($minut >= 2 && $minut <= 4):
  19. case ($minut >= 22 && $minut <= 24):
  20. case ($minut >= 32 && $minut <= 34):
  21. case ($minut >= 42 && $minut <= 44):
  22. case ($minut >= 52 && $minut <= 54): return "$minut minuty temu"; break;
  23. default: return "$minut minut temu"; break;
  24. }
  25. return -1;
  26. }
  27.  
  28. function getDiff($timestamp)
  29. {
  30.  
  31. $timestamp = "2008-08-06";
  32. $now = time();
  33.  
  34. if ($timestamp > $now) {
  35. echo 'Podana data nie może być większa od obecnej.'; // tutaj była 'zła data'
  36. return;
  37. }
  38.  
  39. $diff = $now - $timestamp;
  40.  
  41. $minut = floor($diff/60);
  42. $godzin = floor($minut/60);
  43. $dni = floor($godzin/24);
  44.  
  45. if ($minut <= 60) {
  46. $res = getMinutes($minut);
  47. switch($res) 
  48. {
  49. case 0: return "przed chwilą";
  50. case 1: return "minutę temu";
  51. default: return $res;
  52. }
  53. }
  54.  
  55. if ($godzin > 6 && $godzin < 24) {
  56. return "Dzisiaj ".date("H:i:s", $timestamp);
  57. }
  58. elseif ($godzin > 0 && $godzin < 24) {
  59. $restMinutes = ($minut-(60*$godzin));
  60. $res = getMinutes($restMinutes);
  61. if ($godzin == 1) {
  62. return "Godzinę temu ".$res;
  63. } else {
  64. return "$godzin godzin temu ".$res;
  65. }
  66. }
  67.  
  68. if ($godzin >= 24 && $godzin <= 48) {
  69. return "Wczoraj ".date("H:i:s", $timestamp);
  70. }
  71.  
  72. switch($dni)
  73. {
  74. case ($dni < 7): return "$dni dni temu, ".date("Y-m-d", $timestamp); break;
  75. case 7: return "Tydzień temu, ".date("Y-m-d", $timestamp); break;
  76. case ($dni > 7 && $dni < 14): return "Ponad tydzień temu, ".date("Y-m-d", $timestamp); break;
  77. case 14: return "Dwa tygodznie temu, ".date("Y-m-d", $timestamp); break;
  78. case ($dni > 14 && $dni < 30): return "Ponad 2 tygodnie temu, ".date("Y-m-d", $timestamp); break;
  79. case 30: case 31: return "Miesiąc temu"; break;
  80. case ($dni > 31): return date("Y-m-d", $timestamp); break;
  81. }
  82. return date("Y-m-d", $timestamp);
  83. }
  84.  
  85.  $wynik = getDiff($time);
  86. echo "$wynik";
  87. ?>


Ten post edytował JamalBIG 7.08.2008, 14:57:14
Go to the top of the page
+Quote Post

Posty w temacie
- acztery   pokazywanie daty w formie 4 dni temu .. itp   7.09.2007, 08:49:06
- - kriqs   mktime" title="Zobacz w manualu PHP" target="_manu...   7.09.2007, 10:12:45
- - acztery   myślisz ze nie wiem do czego jest mktime. Tak bezs...   7.09.2007, 10:21:15
- - Kisiol_Ent   No ja spojrzalem na ten link, a sie na php nie zna...   7.09.2007, 12:47:13
- - acztery   ja szukam gotowac, pozatym mktime to jedna z funkc...   7.09.2007, 12:57:41
- - Kisiol_Ent   masz gotowca [bardzo profesjonalny kod] - postest...   7.09.2007, 13:17:15
- - acztery   dzięki za pomoc ale juz dawno nie aktualne. pozat...   7.09.2007, 18:51:44
- - Kisiol_Ent   No wiesz ale po 20 minutach miales już coś odpisan...   7.09.2007, 18:57:30
- - acztery   ma pro za free [PHP] pobierz, plaintext <?php...   7.09.2007, 19:05:57
- - JamalBIG   Moglby mi ktos pomoc 'wdrozyc' ten kod w z...   7.08.2008, 14:09:14
- - ayeo   [PHP] pobierz, plaintext <?php/* SPOSÓB UŻYCIA:...   7.08.2008, 14:22:59
- - JamalBIG   Wrzucilem i dziala ale co bym nie wpisal w zmienne...   7.08.2008, 14:50:24
- - Kicok   [PHP] pobierz, plaintext <?php  $time = ti...   8.08.2008, 23:20:10
- - Rude Dude   Ten skrypt ma w sobie błąd. Np. jeśli data poda ja...   25.08.2008, 16:04:26
- - unloco   ODŚWIEŻAM temat gdyż sam takie coś potrzebuję. Jak...   8.09.2010, 11:52:34
- - Rude Dude   Temat już bardzo stary. Mogę zapodać funkcje które...   8.09.2010, 12:46:51
- - zegarek84   DateTime — The DateTime class   8.09.2010, 12:57:58
- - amator2015   [PHP] pobierz, plaintext czynienia z wyświetlaniem...   6.01.2016, 22:44:37


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

 



RSS Aktualny czas: 4.10.2025 - 11:46