Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] [mysql] operacje na czasie, jak sumowac minuty w php? problem ciągle aktualny
graveozz
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 28.03.2008
Skąd: Kielce

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


Witam.
Problem prawdopodobnie jest trywialny, ale spędza mi sen z powiek już od dwu wieczorów.
Otóż z bazy danych mysql pobieram do $zmiennej_1 wartość komórki typu TIME (HH:MM:SS) po wyświetleniu jej na stronce otrzymuje prawidłową jej wartość: np. 01:30:00.
Chciałbym do tak pobranej godziny dodać inną $zmienną_2 zawierajaca pobrany z pola typu input czas np: 00:50:00 i po zsumowaniu otrzymac:
$zmienna_1 + $zmienna_2 = 02:20:00 niestety jak się domyślacie wynik takiej operacji nie jest nawet podobny. Próbowałem z strtotime(), i innymi funkcjami, nie potrafie tego rozwikłać.
Czy ktoś mógłby mi pomóc? a może ktoś miał podobny problem i go rozwiązał? Z góry dziekuję za pomoc.

Ten post edytował graveozz 3.04.2008, 09:22:29
Go to the top of the page
+Quote Post
mefjiu
post
Post #2





Grupa: Zarejestrowani
Postów: 313
Pomógł: 5
Dołączył: 22.03.2005

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


Zmień obydwa czasy na czasy unikswe i wtedy dodaj. mktime()
Go to the top of the page
+Quote Post
Kicok
post
Post #3





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Musisz poskładać sobie coś takiego:
  1. <?php
  2.  
  3. echo date( 'H:i:s', strtotime( '01:30:00 +00 hour +50 minute +00 second' ) );
  4.  
  5. ?>



explode" title="Zobacz w manualu PHP" target="_manual


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
Kicok
post
Post #4





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


mktime" title="Zobacz w manualu PHP" target="_manual - strtotime" title="Zobacz w manualu PHP" target="_manual

Wypisz wszystkie szczegóły którymi różnią się te funkcje ;]


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
graveozz
post
Post #5





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 28.03.2008
Skąd: Kielce

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


Dobre pytanie Kicok smile.gif
Akutalnie mam coś takiego:

  1. <?php
  2.  $godz1="00:10:00";
  3. $zmienna=date('H:i:s',strtotime($godz1));
  4.  echo 'Wartosc zmiennej<b> '.$zmienna.' </b>';
  5.  
  6.  $godz2="00:20:00";
  7.  $zmienna2=date('H:i:s',strtotime($godz2));
  8.  echo 'Wartosc zmiennej_2 <b> '.$zmienna2. ' </b>';
  9.  
  10.  
  11.  $wynik=date('H:i:s', mktime($zmienna + $zmienna2));
  12.  echo 'wynik dodawania to: <b> ' .$wynik. '</b>';
  13.  
  14.  ?>

wyswietlany wynik to:
Wartosc zmiennej 00:10:00
Wartosc zmiennej_2 00:20:00
wynik dodawania to: 00:31:32

Ja oczekuje ze po dodaniu przechowujacych minuty dwu zmiennych w trzeciej otrzymam 00:30:00, wie ktoś jak to zrobić?

Ten post edytował graveozz 3.04.2008, 12:20:10
Go to the top of the page
+Quote Post
Cienki1980
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Proszę poprawić BBCode w swoich postach


--------------------
404
Go to the top of the page
+Quote Post
graveozz
post
Post #7





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 28.03.2008
Skąd: Kielce

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


Witam problem ciągle nie rozwiązany. Za radą Kicoka udało mi się dodać dwa stringi jako czas (linia 6), ale czy da się zrobić to samo na dwu zmiennych przechowujących czas (linia 8)? Poniżej mój kod:

  1. <?php
  2. $zmienna1="00:20:00";
  3. echo $zmienna1. '<br />';
  4. $zmienna2="00:20:00";
  5. echo $zmienna2. '<br />';
  6. echo date( 'H:i:s', strtotime( '00:20:00 + 00 hour +50 minute +00 second' ) ); //działa poprawnie
  7. echo '<br />;
  8. echo date( 'H:i:s, strtotime( $zmienna1 + $zmienna2) );//nie działa
  9.  ?>

Otrzymany wynik:
00:20:00
00:50:00
01:10:00 //wynik poprawny
00:00:00 //wynik błędny


Potrafi ktoś, dodać te dwie zmienne tak, aby wynik był identyczny jak w pierwszym z działań? Czy jest to wogóle możliwe przy wykorzystaniu wewnętrznych istniejących funkcji PHP? Z góry dziekuję za pomoc.

Ten post edytował graveozz 3.04.2008, 12:19:13
Go to the top of the page
+Quote Post
mike
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


~graveozz dostajesz ostrzeżenie za brak lub niepoprawny bbCode.
Proszono Cię już nie raz a Ty nadal masz to w dupie.

Za następny brak lub niepoprawny bbCode do ostrzeżenia dostaniesz moderację postów na tydzień.
Proszę ostatni raz: proszę uzupełnić wszystkie swoje posty o poprawny bbCode. [php] dla kodów PHP, [code] dla innych, [quote] dla cytatów, itd.
Ciężko to zrozumieć?
Go to the top of the page
+Quote Post
graveozz
post
Post #9





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 28.03.2008
Skąd: Kielce

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


W sumie nie tak ciężko, sorry za to, wybaczcie nowemu użytkownikowi.
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: 21.08.2025 - 08:36