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
Rude Dude
post
Post #2





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 23.07.2007

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


Temat już bardzo stary. Mogę zapodać funkcje które aktualnie używam.
  1. /*
  2.  Źródło: <a href="http://forum.php.pl/index.php?showtopic=76721&pid=502507&mode=threaded&start=#entry502507" target="_blank">http://forum.php.pl/index.php?showtopic=76...rt=#entry502507</a>
  3.  @ Powprowadzałem poprawki do kodu
  4.  SPOSÓB UŻYCIA:
  5.  $time = czas zwrócony przez funkcję time()
  6.  $wynik = getDiff($time);
  7.  
  8. */
  9.  
  10.  
  11. /*
  12.   * PHP port of Ruby on Rails famous distance_of_time_in_words method.
  13.   * See <a href="http://api.rubyonrails.com/classes/ActionView/Helpers/DateHelper.html" target="_blank">http://api.rubyonrails.com/classes/ActionV...DateHelper.html</a> for more details.
  14.   *
  15.   * Reports the approximate distance in time between two timestamps. Set include_seconds
  16.   * to true if you want more detailed approximations.
  17.   *
  18. Źródło: <a href="http://pl2.php.net/manual/pl/function.time.php" target="_blank">http://pl2.php.net/manual/pl/function.time.php</a>
  19.   */
  20. function getDiff($from_time, $to_time = 0, $include_seconds = true) {
  21. $from_time = strtotime($from_time);
  22. $to_time = time();
  23.  
  24. $distance_in_minutes = round(abs($to_time - $from_time) / 60);
  25. $distance_in_seconds = round(abs($to_time - $from_time));
  26.  
  27. if ($distance_in_minutes >= 0 and $distance_in_minutes <= 1) {
  28. if (!$include_seconds) {
  29. return ($distance_in_minutes == 0) ? 'mniej niż minutę temu' : 'minutę temu';
  30. } else {
  31. if ($distance_in_seconds >= 0 and $distance_in_seconds <= 4) {
  32. return 'mniej niż 5 sekund temu';
  33. } elseif ($distance_in_seconds >= 5 and $distance_in_seconds <= 9) {
  34. return 'mniej niż 10 sekund temu';
  35. } elseif ($distance_in_seconds >= 10 and $distance_in_seconds <= 19) {
  36. return 'mniej niż 20 sekund temu';
  37. } elseif ($distance_in_seconds >= 20 and $distance_in_seconds <= 39) {
  38. return 'pół minuty temu';
  39. } elseif ($distance_in_seconds >= 40 and $distance_in_seconds <= 59) {
  40. return 'mniej niż minutę temu';
  41. } else {
  42. return 'minutę temu';
  43. }
  44. }
  45. } elseif ($distance_in_minutes >= 2 and $distance_in_minutes <= 44) {
  46. return $distance_in_minutes . ' min temu';
  47. } elseif ($distance_in_minutes >= 45 and $distance_in_minutes <= 89) {
  48. return 'godzinę temu';
  49. } elseif ($distance_in_minutes >= 90 and $distance_in_minutes <= 1439) {
  50. return round(floatval($distance_in_minutes) / 60.0) . ' godzin temu';
  51. } elseif ($distance_in_minutes >= 1440 and $distance_in_minutes <= 2879) {
  52. return 'wczoraj';
  53. } elseif ($distance_in_minutes >= 2880 and $distance_in_minutes <= 43199) {
  54. return round(floatval($distance_in_minutes) / 1440) . ' dni temu';
  55. } elseif ($distance_in_minutes >= 43200 and $distance_in_minutes <= 86399) {
  56. return 'miesiąc temu';
  57. } elseif ($distance_in_minutes >= 86400 and $distance_in_minutes <= 525599) {
  58. return round(floatval($distance_in_minutes) / 43200) . ' miesięcy temu';
  59. } elseif ($distance_in_minutes >= 525600 and $distance_in_minutes <= 1051199) {
  60. return 'rok temu';
  61. } else {
  62. return 'ponad ' . round(floatval($distance_in_minutes) / 525600) . ' lat temu';
  63. }
  64. }
  65.  
  66.  
  67. #-------------------------------------------------------------------------------------
  68.  
  69. // drugi arg okresla czy wyswietlic czysty tekst bez html
  70. function data_rzymska($data, $html=0) {
  71. // wyświetla datę w formie 09 V 1990, 16:00
  72.  
  73. //przyjmowany format daty 2008-08-31 19:00:02
  74.  
  75. $rok = substr($data,0,4);
  76. $miesiac = substr($data,5,2);
  77. $dzien = substr($data,8,2);
  78.  
  79. $godzina = substr($data,11,2);
  80. $minuty = substr($data,14,2);
  81. $sekundy = substr($data,17,2);
  82.  
  83. switch($miesiac) {
  84. case '01':
  85. $miesiac_rzymski = 'I';
  86. break;
  87. case '02':
  88. $miesiac_rzymski = 'II';
  89. break;
  90. case '03':
  91. $miesiac_rzymski = 'III';
  92. break;
  93. case '04':
  94. $miesiac_rzymski = 'IV';
  95. break;
  96. case '05':
  97. $miesiac_rzymski = 'V';
  98. break;
  99. case '06':
  100. $miesiac_rzymski = 'VI';
  101. break;
  102. case '07':
  103. $miesiac_rzymski = 'VII';
  104. break;
  105. case '08':
  106. $miesiac_rzymski = 'VIII';
  107. break;
  108. case '09':
  109. $miesiac_rzymski = 'IX';
  110. break;
  111. case '10':
  112. $miesiac_rzymski = 'X';
  113. break;
  114. case '11':
  115. $miesiac_rzymski = 'XI';
  116. break;
  117. case '12':
  118. $miesiac_rzymski = 'XII';
  119. break;
  120. default:
  121. $miesiac_rzymski = 'Błędny miesiąc';
  122. }
  123.  
  124. // jesli wywołamy funkcje bez dodatkowego parametru 1 to bedą sekundy mniejsza czcionka
  125. if($html == 0) {
  126. $sekundy_html = '<span class="small_text">'.$sekundy.'</span>';
  127. } else { // natomiast jesli dodamy arg drugi o wartosci 1 to tekst bedzie czysty bez html'a
  128. $sekundy_html = $sekundy;
  129. }
  130. return $dzien.' '.$miesiac_rzymski.' '.$rok.', '.$godzina.':'.$minuty.':'.$sekundy_html;
  131.  
  132.  
  133. }
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: 3.10.2025 - 20:02