Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Wyświetlanie godziny w formacie 24godzinnym
Jarod
post
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Jak wyświetlić w php godzinę w formacie 24-o godzinnym tak aby godzina była z zakresu od 1 do 24?

Potrzebuję tego do obsługi sesji. Mam metodę usuwającą z bazy sesje, których ostatni czas aktywności jest większy niż 15 minut. Problem w tym, że jeśli wystartuję sesję o godzinie 23:55 (wtedy też jest to ostatni czas aktywności) i odświeżę stronę o 00:20 to ta sesja nie jest usuwana ponieważ 00:20 - 15 minut daje nam 00:05. A godzina 23:55 nie jest mniejsza od 00:05... Wyświetlanie godziny z zakresu o 1 do 24 rozwiązałoby problem.
Mam nadzieje, że nie zamotałem za bardzo..


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
wojtek.zielinski
post
Post #2





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 19.12.2006
Skąd: Poznań

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


http://pl.php.net/manual/pl/function.date.php


--------------------
Wojtek Zieliński
http://www.zielinscy.pl
php portale cms
Go to the top of the page
+Quote Post
Jarod
post
Post #3





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Wiem gdzie szukać manuala. ALe tam nie ma takiej opcji.


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
seaquest
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 790
Pomógł: 7
Dołączył: 6.02.2003
Skąd: Polska

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


Nie no bez jaj.

Matematyka się kłania [0-23] + 1 = [1-24]

Poza tym zawsze można pracować na timestampach i wtedy nie ma problemu.


--------------------
Michał Płachta
Warsztat: Mac OS X Leopard, PostgreSQL, Text Mate, Retrospectiva + SVN
Go to the top of the page
+Quote Post
Jarod
post
Post #5





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(seaquest @ 18.02.2007, 02:31:57 ) *
Nie no bez jaj.

Matematyka się kłania [0-23] + 1 = [1-24]

lol
Co ma do tego matematyka. Wiadomo, że mogę nawalić pełno warunków i sprawdzać i ewentualnie różne decyzje podejmować ale to da się zrobić szybciej, wystarczy że będę time() wykorzystywał a pole w bazie varchar. Ale nie o to chodzi.
  1. <?php
  2. public function gc($iSessionLifeTime)
  3. {
  4. // echo '<br/>Usuwamy poniżej godziny: '.date("G:i:s", strtotime($this->sLastTime)-$this->iMaxLifeTime);
  5.  
  6. $this->oConnection->delete('sessions', 'session_last_time < ''.date("G:i:s", (strtotime($this->sLastTime)-$this->iMaxLifeTime)).''');
  7.  
  8. if ($this->oConnection->getNumberOfAffectedRows() > 0) echo '<br/>usunięto śmieci<br/>';
  9. else echo '<br/>nie udało się usunąć śmieci<br/>';
  10.  
  11. }
  12. ?>


Cytat(seaquest @ 18.02.2007, 02:31:57 ) *
Poza tym zawsze można pracować na timestampach i wtedy nie ma problemu.

Wiem, i tak na początku zrobiłem.. Tylko chciałem mieć możliwość podglądu danych bezpośrednio w bazie - kiedy dana sesja została wystartowana i jaki jest czas bezczynności (dobrze gdyby te dane były wyśwetlane w postaci godziny a nie ilości sekund)..


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
seaquest
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 790
Pomógł: 7
Dołączył: 6.02.2003
Skąd: Polska

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


Z ukłonami w stronę manuala: http://dev.mysql.com/doc/refman/4.1/en/dat...-functions.html


--------------------
Michał Płachta
Warsztat: Mac OS X Leopard, PostgreSQL, Text Mate, Retrospectiva + SVN
Go to the top of the page
+Quote Post
Jarod
post
Post #7





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(seaquest @ 18.02.2007, 11:03:24 ) *


Przeglądałem to i nawet znalazłem funkcję, np.
  1. <?php
  2. SELECT TIME_TO_SEC('22:23:00');
  3. ?>


Tylko porównaj sobie powyższy zapis z np.
  1. <?php
  2. SELECT TIME_TO_SEC('22:23:00');
  3. ?>
, następnie spójrz na mój pierwszy post i postaraj się załapać dlaczego tego typu rozwiązanie nie pasuje mi. Jak się nie da no to przejdę na timestampa ale wolałbym zapisywać godzinę a przy czyszczeniu tabeli ze śmieci do porównań zamieniać na sekundy.


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
seaquest
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 790
Pomógł: 7
Dołączył: 6.02.2003
Skąd: Polska

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


Dorzuć do tego jeszcze datę.


--------------------
Michał Płachta
Warsztat: Mac OS X Leopard, PostgreSQL, Text Mate, Retrospectiva + SVN
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 - 23:22