Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Zamiana na sekundy
Manderigon
post 6.08.2014, 07:16:22
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 30.04.2011

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


Witam.
W jaki sposób najszybciej zamienić czas w takiej postaci (01:10:00) na sekundy?
Pozdrawiam.
Go to the top of the page
+Quote Post
Sephirus
post 6.08.2014, 07:34:43
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Jeśli to jakieś odliczanie czyli godzina i 10 minut to np.:

  1. $czas = '01:10:00'
  2.  
  3. list($h,$m,$s) = explode(':',$czas);
  4.  
  5. $sekundy = $h*60*60 + $m*60 + $s;


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
Manderigon
post 6.08.2014, 07:42:38
Post #3





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 30.04.2011

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


  1. Parse error: syntax error, unexpected 'list' (T_LIST) in ... on line 5
Go to the top of the page
+Quote Post
patryczakowy
post 6.08.2014, 07:44:45
Post #4





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

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


w pierszej lini brak ci średnika ; na końcu

Ten post edytował patryczakowy 6.08.2014, 07:45:05


--------------------
Sztuką jest widzieć to czego nie widać.
Go to the top of the page
+Quote Post
Manderigon
post 6.08.2014, 08:15:58
Post #5





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 30.04.2011

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


A w jaki sposób mógłbym dodać do czasu np. 9:15:32 dodać 300 sekund? Funkcją strtotime?
Go to the top of the page
+Quote Post
golabow
post 6.08.2014, 09:31:11
Post #6





Grupa: Zarejestrowani
Postów: 53
Pomógł: 17
Dołączył: 4.07.2014

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


tak na szybko.

  1. <?php
  2. $czas = '09:15:32';
  3. $dodatkowyCzas = 300;
  4.  
  5. list($h,$m,$s) = explode(':',$czas);
  6.  
  7. $sekundy = $h*60*60 + $m*60 + $s;
  8. $sekundy += $dodatkowyCzas;
  9.  
  10. $t['h'] = floor( $sekundy / 3600 );
  11. $sekundy -= $t['h'] * 3600;
  12. $t['h'] %= 24;
  13. $t['m'] = floor( $sekundy / 60 );
  14. $sekundy -= $t['m'] * 60;
  15. $t['s'] = $sekundy;
  16. foreach( $t as $k => $v ) $t[$k] = ( $v < 10 ) ? '0'.$v : $v;
  17.  
  18. $w = implode( ':', $t );
  19. echo $w;
  20. ?>


Ten post edytował golabow 6.08.2014, 09:53:30
Go to the top of the page
+Quote Post
Manderigon
post 6.08.2014, 22:00:00
Post #7





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 30.04.2011

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


A nie ma może prostszego rozwiązania? :-)
Go to the top of the page
+Quote Post
mls
post 6.08.2014, 23:26:24
Post #8





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


Jest, o ile przyjmiemy istnienie nie tylko godziny ale i daty:
  1. echo(date('Y-m-d H:i:s', strtotime('2014-08-06 09:15:32') + 300));


--------------------
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: 24.05.2024 - 22:02