Autor Zpráva
Figus
Profil *
Dobrý den,

nemůžu si poradit s jedním oříškem co se týče času. Práce s časem nebyla nikdy moje oblíbená činnost, ale teď se tomu bohužel nevyhnu.

Jde o to že mám nějaký startovací čas (nevím jaký formát, možná klasický time()), například 8:00, na dnu nezáleží. A konečný čas mám třeba 23:00. A teď to hlavní, mám určitý interval. Ten se může měnit, ale předpokládejme že to bude 30 minut a chtěl bych docílit, aby se mi vypisoval čas v tomto formátu - 8:30, 9:00, 9:30...

Nenapadá mě jak bych to mohl udělat, děkuji za nakopnutí.
Tori
Profil
cyklus for. Buď můžete používat timestamp (= číslo které vrací fce time, resp. pro vás spíš strtotime) a přičítat v každé iteraci 1800 (vteřin za půlhodinu), anebo použít objekt DateTime a přičítat metodou modify.
Alphard
Profil
Možná i www.php.net/manual/en/dateperiod.construct.php záleží, jak to chcete použít.
donny
Profil
Už 3 otázka toho istého štýlu za posledný týždeň..

Riešil by som to napr. takto..
<?php                     
      $display = array(8, 23);
      $step = .5; 
      //cyklus ktory to cele vygeneruje, koniec cyklu je zmenseny o jeden krok     
      echo "<table>";              
      for($hour = $display[0]; $hour <= $display[1] - $step; $hour+=$step) 
      {
        echo "<tr>";                                                   
                switch(true) {
                    case preg_match('/\.25$/',$hour):
                        $minutes = '15';
                    break;
                    case preg_match('/\.5$/',$hour):
                        $minutes = '30';
                    break;
                    case preg_match('/\.75$/',$hour):
                        $minutes = '45';
                    break;
                    default:
            $minutes = '00';                      
    }                                         
        $myHours = (intval($hour));            
        //tu uz len zobrazim, ale kludne sa mozes patlat aj zo strtotime napr date ('H:i', strtotime($myHours.":".$minutes));    
        echo "<td>".$myHours.":".$minutes."</td>";                
        echo "</tr>";                
    }    
      echo "</table>";                  
?>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: