Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Dodawanie czasu 00:51:59 + 01:50:14
alphonso
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 1.09.2012

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


Chciałbym dodawać czasy tego typu:
00:51:59 + 01:50:14

Czyli godziny, minuty i sekundy.
Jak to zrobić?
Go to the top of the page
+Quote Post
bobek358
post
Post #2





Grupa: Zarejestrowani
Postów: 143
Pomógł: 22
Dołączył: 17.11.2007

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


Najlepiej skorzystaj z datetime.add

Ten post edytował bobek358 18.08.2015, 12:08:14
Go to the top of the page
+Quote Post
kujol
post
Post #3





Grupa: Zarejestrowani
Postów: 324
Pomógł: 27
Dołączył: 21.07.2013

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


Albo ewentualnie strtotime

Ten post edytował kujol 18.08.2015, 12:34:07
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@bobek, @kujol pewnie jestem juz zmeczony, ale od kiedy podane przez was funkcje operuja na samym czasie? bez daty?
Go to the top of the page
+Quote Post
bobek358
post
Post #5





Grupa: Zarejestrowani
Postów: 143
Pomógł: 22
Dołączył: 17.11.2007

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


No do końca nie ale sam czas też można dodać:

  1. $date = new DateTime();
  2. $date->setTime(0, 51, 59);
  3. $date->add(new DateInterval('PT1H50M14S'));
  4. echo $date->format('Y-m-d H:i:s');


Chyba, że źle robię stosując taką formę?

Ten post edytował bobek358 18.08.2015, 13:09:25
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No a jak zamiast jednej godziny dodasz 23 godziny to czas godizna wskoczy ci na 0 a data sie zmieni.
A wydaje mi sie, ze autor chcial uzyskac w wyniku dodawania dodane godziny do siebie a nie 0. No, ale to juz autor powinien sprecyzowac.
Go to the top of the page
+Quote Post
bobek358
post
Post #7





Grupa: Zarejestrowani
Postów: 143
Pomógł: 22
Dołączył: 17.11.2007

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


@nospor jak już gdzieś zauważyliśmy, rozwiązań może być wiele, zależy jak i co konkretnie potrzebuje autor.
Jeśli faktycznie jest tak, jak domniemywasz, to mój sposób się mu nie przyda.
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Jesli autor chce rozwiazania o ktorym ja mysle, to o tutaj padla odpowiedz

http://stackoverflow.com/questions/1055707...rmats-using-php
  1. function sum_the_time($time1, $time2) {
  2. $times = array($time1, $time2);
  3. $seconds = 0;
  4. foreach ($times as $time)
  5. {
  6. list($hour,$minute,$second) = explode(':', $time);
  7. $seconds += $hour*3600;
  8. $seconds += $minute*60;
  9. $seconds += $second;
  10. }
  11. $hours = floor($seconds/3600);
  12. $seconds -= $hours*3600;
  13. $minutes = floor($seconds/60);
  14. $seconds -= $minutes*60;
  15. if($seconds < 9)
  16. {
  17. $seconds = "0".$seconds;
  18. }
  19. if($minutes < 9)
  20. {
  21. $minutes = "0".$minutes;
  22. }
  23. if($hours < 9)
  24. {
  25. $hours = "0".$hours;
  26. }
  27. return "{$hours}:{$minutes}:{$seconds}";
  28. }

Proste i banalne (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
alphonso
post
Post #9





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 1.09.2012

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


Chodziło mi o sumowanie czasów w formacie godziny:minuty:sekundy.
Godziny nie przekroczą liczby 24 więc nie będzie przeskoku o jeden dzień.
Dziękuję za przykłady. Biorę się za testowanie.
Go to the top of the page
+Quote Post

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: 25.08.2025 - 02:28