Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ PHP _ Wyświetlanie daty dodsania

Napisany przez: sratatata 3.06.2019, 10:44:02

Mam problem bo nie wiem jak ugrysc to:

  1. <?php
  2. function result($date){
  3. $explodesqldate = http://www.php.net/explode(".", $date);
  4.  
  5. $data = http://www.php.net/strtotime($explodesqldate[0]."-".$explodesqldate[2]."-".$explodesqldate[1]);
  6. $day = http://www.php.net/floor((http://www.php.net/time() - $data) / (60 * 60 * 24));
  7.  
  8.  
  9. switch ($day) {
  10. case 0:
  11. return "Dzisiaj";
  12. case 1:
  13. return "Wczoraj";
  14. case 2:
  15. return "Przedwczoraj";
  16. case 7:
  17. return "Tydzień temu";
  18. case 14:
  19. return "Dwa tygodnie temu";
  20. case 21:
  21. return "Trzy tygodnie temu";
  22. case 30:
  23. case 31:
  24. return "Miesiac temu";
  25. case 188:
  26. return "pół roku temu";
  27. case 365:
  28. case 366:
  29. return "Rok temu";
  30. default:
  31. if($day >= 365 )
  32.  
  33. {
  34.  
  35. return http://www.php.net/floor($day / 365) . " lat/a temu (" . http://www.php.net/date ('Y/d/m', $data) . ")";
  36.  
  37. } else {
  38.  
  39. return $day . " dni temu (" . http://www.php.net/date ('Y/d/m', $data) . ")";
  40.  
  41. }
  42.  
  43.  
  44. }
  45. }
  46.  
  47. http://www.php.net/echo result("2015.27.01");
  48.  
  49.  
  50.  
  51. ?>


Szukam rozwiazania jak wyswietlic
dodano
- teraz
- kilka sekund temu
- minuta
- kika min temu
- godzina
itd.. az do kilku godzin.

Ktoś ma pomysł ?

Napisany przez: nospor 3.06.2019, 10:47:10

No teraz dzielisz roznice na dni. No to nie dziel na dni a zostaw sekundy i juz

Napisany przez: Pyton_000 3.06.2019, 10:50:56

Ja bym użył po prostu: https://carbon.nesbot.com/docs/#api-humandiff zamiast bawić się w takie kombinacje. No chyba że trenujesz dla nauki.

Napisany przez: sratatata 4.06.2019, 12:23:04

Ma to ręce i nogi questionmark.gif

  1. <?php
  2. $one = 365*60*60*24;
  3. $two = 30*60*60*24;
  4. $three = 60*60*24;
  5. $four = 60*60;
  6. $five = 60;
  7.  
  8. function ShowDifference($No1, $No2, $No3, $No4, $No5)
  9. {
  10.  
  11.  
  12. $date1 = http://www.php.net/mktime(12,22,35,6,3,2019);
  13. $date2 = http://www.php.net/time();
  14.  
  15. $division = http://www.php.net/abs($date2 - $date1);
  16. $years = http://www.php.net/floor($division / ( $No1 ));
  17.  
  18. $months = http://www.php.net/floor(($division - $years * $No1) / ($No2));
  19. $days = http://www.php.net/floor(($division - $years * $No1 - $months * $No2)/ ($No3));
  20. $hours = http://www.php.net/floor(($division - $years * $No1 - $months * $No2 - $days * $No3) / ($No4));
  21. $minutes = http://www.php.net/floor(($division - $years * $No1 - $months * $No2 - $days * $No3 - $hours * $No4)/ $No5);
  22. $seconds = http://www.php.net/floor(($division - $years * $No1 - $months * $No2 - $days * $No3 - $hours * $No4 - $minutes * $No5));
  23.  
  24. return 'Fotkę dodano: ' . $years . ' lat, ' . $months . ' miesięcy, ' . $days . ' dni, ' . $hours . ' godzin, ' . $minutes . ' minut, ' . $seconds . ' sekund temu.';
  25.  
  26. }
  27.  
  28. http://www.php.net/echo ShowDifference(
  29. $one,
  30. $two,
  31. $three,
  32. $four,
  33. $five
  34. );
  35.  
  36. ?>


EDIT.
Prosilbym bardzo o zmianę tytułu bo literówke zrobiłem.

Cytat(nospor @ 3.06.2019, 10:47:10 ) *
No teraz dzielisz roznice na dni. No to nie dziel na dni a zostaw sekundy i juz

Nospor. W jaki najprostszy sposb dobrać się do róznicy w sekundach majac ustaloną date i aktualnego timestampa ?

Data w postaci:

  1. $date = http://www.php.net/mktime(12,12,12,6,4,2109);


i

  1. $actual = http://www.php.net/time();





Cytat(Pyton_000 @ 3.06.2019, 10:50:56 ) *
No chyba że trenujesz dla nauki.

Zabawa. Tudziez nauka.

Napisany przez: nospor 4.06.2019, 13:44:38

Cytat
Nospor. W jaki najprostszy sposb dobrać się do róznicy w sekundach majac ustaloną date i aktualnego timestampa ?

facepalmxd.gif
Czy to nie ty niedawno sie "wygrazales" ze byle idiota by zrobil innego zadanie w 13 dni? Po czym przychodzisz i zadajesz naprawde takie pytania?!
Przeciez zarowno mktime jak i time zwracaja UNIXTIMESTAMP. Sobie odejmujesz jeden od drugiego i masz swoja roznice

Napisany przez: dublinka 4.06.2019, 18:33:12

Cytat(nospor @ 4.06.2019, 13:44:38 ) *
facepalmxd.gif
Czy to nie ty niedawno sie "wygrazales" ze byle idiota by zrobil innego zadanie w 13 dni? Po czym przychodzisz i zadajesz naprawde takie pytania?!
Przeciez zarowno mktime jak i time zwracaja UNIXTIMESTAMP. Sobie odejmujesz jeden od drugiego i masz swoja roznice
cccc

Napisany przez: sratatata 4.06.2019, 19:23:50

Cytat(nospor @ 4.06.2019, 13:44:38 ) *
facepalmxd.gif
Czy to nie ty niedawno sie "wygrazales" ze byle idiota by zrobil innego zadanie w 13 dni?

Pytanie było proste a tamta sprawa bya cakiem inna. Tam koleś nic nie robił a chciał coś mieć.
Wszedl na forum i obrazil wszystkich ze nikt mu nie pomogl po dwóch tyg. Może nie było to zbyt miłe ale dobitne zeby cos zrobił sam.
Ja sam cos robię.
Wracajac do pytania. Chodzilo mi o wyswietlenie sekund z pomiedzy time() i ustalonego mktime() w postaci:

  1. 1,2,3,4,5


Dziękuję

Napisany przez: nospor 4.06.2019, 19:42:26

Koles wtedy tez zrobil pare rzeczy sam tylko nie ogarnial bledy. A ze byl hamem to inna sprawa wink.gif

Dobra, do tematu:
Najpierw zadales pytanie

Cytat
W jaki najprostszy sposb dobrać się do róznicy w sekundach majac ustaloną date i aktualnego timestampa

sugerujace dosc mocno ze chcesz miec roznice.

Teraaz pytasz:
Cytat
Chodzilo mi o wyswietlenie sekund z pomiedzy time() i ustalonego mktime() w postaci: 1,2,3,4,5

Nie mam bladego pojecia o co ci chodzi...
czymze jest to 1,2,3,4,5? Skad sie to wzielo nagle z roznicy?


Napisany przez: sratatata 4.06.2019, 19:48:08

O to mi chodzi:

  1.  
  2. if(!function_exists('PorownajDaty'))
  3. {
  4.  
  5. function PorownajDaty($str1Obj1, $str1Obj2, $str1Obj3, $str2Obj1, $str2Obj2, $str2Obj3) : int
  6.  
  7. {
  8.  
  9.  
  10. $data_od = http://www.php.net/mktime(07,39,00, $str1Obj1, $str1Obj2, $str1Obj3);
  11. $data_do = http://www.php.net/mktime(07,42,00, $str2Obj1, $str2Obj2, $str2Obj3);
  12.  
  13. $roznica = ($data_do - $data_od) / 60 / 60 / 24;
  14.  
  15.  
  16. return $roznica;
  17.  
  18. };
  19.  
  20.  
  21. };
  22.  
  23.  
  24. http://www.php.net/echo 'Roznica lat pomiedzy datami to: ' . PorownajDaty('6', '4', '2019', '6', '4', '2019');


Wez mi to teraz skomponuj na sekundy bo ja juz ocipiałem sad.gif)

Nie bede dzisiaj spal jak tego nie zrobie

Napisany przez: nospor 4.06.2019, 19:49:43

Nie dziel roznicy na lata
$roznica = ($data_do - $data_od) / 60 / 60 / 24;

tylko poprostu odejmij
$roznica = $data_do - $data_od;

I masz swoje sekundy

Napisany przez: sratatata 4.06.2019, 20:08:05

Cytat(nospor @ 4.06.2019, 19:49:43 ) *
Nie dziel roznicy na lata
$roznica = ($data_do - $data_od) / 60 / 60 / 24;

tylko poprostu odejmij
$roznica = $data_do - $data_od;

I masz swoje sekundy

Dziekuję Ci bardzo za odpowiedz ale jeśli mogę prosić o jeszcze jedno to poprosze.
Tam mam dwie ustalone daty.
Jak to będzie z tym

  1. $data_od = http://www.php.net/mktime(07,39,00, $str1Obj1, $str1Obj2, $str1Obj3);
  2. $data_do = http://www.php.net/time();


Nie wiem ale jakos nie radzę sobie z datami. Cholera mnie bierze juz

To moze wkleje to co mam.

  1. if(!function_exists('PorownajDaty'))
  2. {
  3.  
  4. function PorownajDaty($str1Obj1, $str1Obj2, $str1Obj3, $str2Obj1, $str2Obj2, $str2Obj3) : int
  5.  
  6. {
  7.  
  8.  
  9. $data_od = http://www.php.net/mktime(07,39,00, $str1Obj1, $str1Obj2, $str1Obj3);
  10. $data_do = http://www.php.net/time();
  11.  
  12. $roznica = http://www.php.net/time() - $data_od / 60 / 60 / 24;
  13.  
  14.  
  15. return $roznica;
  16.  
  17. };
  18.  
  19.  
  20. };
  21.  
  22.  
  23.  
  24. http://www.php.net/print 'Roznica lat pomiedzy datami to: ' . PorownajDaty('6', '4', '2019', '6', '4', '2019');


Nie weiem jak ogarnąć te minuty i sekundy

Napisany przez: nospor 4.06.2019, 21:38:05

Az tak bardzo sie starasz ze totalnie wylaczyles myslenie

nie
$roznica = time() - $data_od / 60 / 60 / 24;
a:
$roznica = time() - $data_od;
I to jest twoja roznica w sekundach nadal.

Chcesz miec z tego minuty?
$roznica = (time() - $data_od) / 60;

Zamiast sie tak spinac wlacz myslenie. A najlepiej idz spac wink.gif

Napisany przez: sratatata 5.06.2019, 21:12:02

Cytat(nospor @ 4.06.2019, 21:38:05 ) *
Az tak bardzo sie starasz ze totalnie wylaczyles myslenie

nie
$roznica = time() - $data_od / 60 / 60 / 24;
a:
$roznica = time() - $data_od;
I to jest twoja roznica w sekundach nadal.

Chcesz miec z tego minuty?
$roznica = (time() - $data_od) / 60;

Zamiast sie tak spinac wlacz myslenie. A najlepiej idz spac wink.gif


To nauczka żeby nie brać sięza pisanie po %

Kurna. Komp mi sie zawiesil i po restarcie i otwarciu Notatnik++ w pliku w ktorym mielem wszystko zawarte są same NULLE. WTF? Stracilem caly kod aaaaaaaaaaaa exclamation.gif!!!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)