Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PostgreSQL][PHP]Dodawanie czasu..., przekroczenie 24h w obliczeniu
exo
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.05.2008

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


Witam wszystkich

mam pewien problem z ktorym nie moge sobie poradzic...sad.gif

chce wyswietlic sume godzin
zapytanie z bazy postgresql'a zwraca mi do php np:

2 days 12:45:30

a chce zeby bylo:

60:45:30

i moje pytanie po ktorej stronie najlepiej to zrobic po stronie bazy czy w php?
i oczywiscie jak to zrobic bo niemam zaielonego pojecia a probowalem juz wielu sztuczek ale nie znalazlem zadnej dzialajacej metody....

prosze o pomoc
z gory dzieki

Ten post edytował exo 4.11.2010, 12:44:54
Go to the top of the page
+Quote Post
Ghost_78
post
Post #2





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


a czym jest ten zwracany czas ?
jezeli to data od nakiegos zdarzenia to mozesz sobie zapisac 2 daty - $data_start $data_end - zamienic je za pomoca strtotime($data,true);
odjac $start od $end i w wyniku masz ilosc sekund roznicy potem tylko matematyka i obliczenie ile w tych sec jest godzin, minut, sec


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
exo
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.05.2008

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


ta wartosc to jest timestamp
ktory zwraca zsumowany czas pracy
Go to the top of the page
+Quote Post
Ghost_78
post
Post #4





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


tu dostajesz czas w sekundach $czas=strtotime("2 days 12:00:30",true);

poswiecilem chwile - tu masz gotowca:
  1. $czas=strtotime("2 days 12hour 15min 0sec",true)-1;
  2. echo $czas.'<br>';
  3. $godzin = round($czas/3600);
  4. $godzin_s = $godzin*3600;
  5. $minut = round(($czas-$godzin_s)/60);
  6. $minut_s = $minut*60;
  7. $sec = ($czas-($godzin_s+$minut_s));
  8. echo "czas $godzin_s+$minut_s<br>";
  9. echo "$godzin:$minut:$sec";

musisz tylko w takim formacie jak jest teraz przekazac dane do strtotime
troche tak na partyzanta ale nie przychodzi mi nic innego teraz do glowy


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
exo
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.05.2008

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


Ghost_78 dzieki za pomoc.
ugryzlem to z innej strony jednak smile.gif
  1. function time_format($obj){
  2. $x=str_replace(" ","",$obj);
  3. if (strpos($x, "days")==null){
  4. if (strpos($x, "day")==null){
  5. $wynik=$x;
  6. } else {
  7. $x=explode("day", $x);
  8. $time=explode(":", $x[1]);
  9. $wynik=$x[0]*24+$time[0].':'.$time[1].':'.$time[2];
  10. }
  11. } else {
  12. $x=explode("days", $x);
  13. $time=explode(":", $x[1]);
  14. $wynik=$x[0]*24+$time[0].':'.$time[1].':'.$time[2];
  15. }
  16.  
  17. return $wynik;
  18. }


w kazdym badz razie i tak dzieki.

TEMAT DO ZAMKNIECIA
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: 20.08.2025 - 06:32