Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyświetlanie daty dodsania, Wyświetlanie daty dodsania dzis, wcczoraj, przedwczoraj itd...
sratatata
post 3.06.2019, 10:44:02
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

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


Mam problem bo nie wiem jak ugrysc to:

  1. <?php
  2. function result($date){
  3. $explodesqldate = explode(".", $date);
  4.  
  5. $data = strtotime($explodesqldate[0]."-".$explodesqldate[2]."-".$explodesqldate[1]);
  6. $day = floor((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 floor($day / 365) . " lat/a temu (" . date ('Y/d/m', $data) . ")";
  36.  
  37. } else {
  38.  
  39. return $day . " dni temu (" . date ('Y/d/m', $data) . ")";
  40.  
  41. }
  42.  
  43.  
  44. }
  45. }
  46.  
  47. 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ł ?
Go to the top of the page
+Quote Post
nospor
post 3.06.2019, 10:47:10
Post #2





Grupa: Moderatorzy
Postów: 36 441
Pomógł: 6290
Dołączył: 27.12.2004




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


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

"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
Pyton_000
post 3.06.2019, 10:50:56
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


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.
Go to the top of the page
+Quote Post
sratatata
post 4.06.2019, 12:23:04
Post #4





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

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


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 = mktime(12,22,35,6,3,2019);
  13. $date2 = time();
  14.  
  15. $division = abs($date2 - $date1);
  16. $years = floor($division / ( $No1 ));
  17.  
  18. $months = floor(($division - $years * $No1) / ($No2));
  19. $days = floor(($division - $years * $No1 - $months * $No2)/ ($No3));
  20. $hours = floor(($division - $years * $No1 - $months * $No2 - $days * $No3) / ($No4));
  21. $minutes = floor(($division - $years * $No1 - $months * $No2 - $days * $No3 - $hours * $No4)/ $No5);
  22. $seconds = 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. 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 = mktime(12,12,12,6,4,2109);


i

  1. $actual = time();





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

Zabawa. Tudziez nauka.


Ten post edytował sratatata 3.06.2019, 20:05:07
Go to the top of the page
+Quote Post
nospor
post 4.06.2019, 13:44:38
Post #5





Grupa: Moderatorzy
Postów: 36 441
Pomógł: 6290
Dołączył: 27.12.2004




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


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

"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
dublinka
post 4.06.2019, 18:33:12
Post #6





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


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

Ten post edytował dublinka 4.06.2019, 18:33:42


--------------------
Go to the top of the page
+Quote Post
sratatata
post 4.06.2019, 19:23:50
Post #7





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

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


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ę

Ten post edytował sratatata 4.06.2019, 19:30:58
Go to the top of the page
+Quote Post
nospor
post 4.06.2019, 19:42:26
Post #8





Grupa: Moderatorzy
Postów: 36 441
Pomógł: 6290
Dołączył: 27.12.2004




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?



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

"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
sratatata
post 4.06.2019, 19:48:08
Post #9





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

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


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 = mktime(07,39,00, $str1Obj1, $str1Obj2, $str1Obj3);
  11. $data_do = 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. 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

Ten post edytował sratatata 4.06.2019, 19:49:14
Go to the top of the page
+Quote Post
nospor
post 4.06.2019, 19:49:43
Post #10





Grupa: Moderatorzy
Postów: 36 441
Pomógł: 6290
Dołączył: 27.12.2004




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


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

"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
sratatata
post 4.06.2019, 20:08:05
Post #11





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

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


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 = mktime(07,39,00, $str1Obj1, $str1Obj2, $str1Obj3);
  2. $data_do = 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 = mktime(07,39,00, $str1Obj1, $str1Obj2, $str1Obj3);
  10. $data_do = time();
  11.  
  12. $roznica = time() - $data_od / 60 / 60 / 24;
  13.  
  14.  
  15. return $roznica;
  16.  
  17. };
  18.  
  19.  
  20. };
  21.  
  22.  
  23.  
  24. print 'Roznica lat pomiedzy datami to: ' . PorownajDaty('6', '4', '2019', '6', '4', '2019');


Nie weiem jak ogarnąć te minuty i sekundy

Ten post edytował sratatata 4.06.2019, 20:21:23
Go to the top of the page
+Quote Post
nospor
post 4.06.2019, 21:38:05
Post #12





Grupa: Moderatorzy
Postów: 36 441
Pomógł: 6290
Dołączył: 27.12.2004




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


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

"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
sratatata
post 5.06.2019, 21:12:02
Post #13





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

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


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!!!!!

Ten post edytował sratatata 5.06.2019, 18:21:16
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 Wersja Lo-Fi Aktualny czas: 16.04.2024 - 22:55