Autor Zpráva
Peet
Profil
Dobrý den řeším následující problém.

v php si vygeneruju aktualni cas

$ted=time();

a cas nejakeho jineho dne

$jinyDen=strtotime("10.02.2013");

nyni zjistim rozdil

$rozdil=$jinyDen-$ted;

a tenhle rozdil potrebuju prevest na dny hodiny minuty kolik zbyva do toho dne nevite nekdo jak to provést ?
tiso
Profil
$now = new DateTime('@' . time());
$end = new DateTime('10.02.2013');//radsej '2013-02-10'
$interval = $end->diff($now);
echo $interval->format('%a days %h hours %i minutes');
juriad
Profil
tisovo řešení funguje, jen pokud máš PHP verze >=5.3
Peet
Profil
ano funguje.

ale nejde to nejak udelat s tim predeslim mym prikladem ?


vim ze kdyz udelam

$rozdil/60/60/24;
zjistim kolik zbyva dni.
ale hodiny minuty a sekundy uz nevim.
tiso
Profil
Peet: „ale nejde to nejak udelat s tim predeslim mym prikladem ?
Čo si pod tým predstavuješ? Aký je rozdiel medzi použitím môjho kódu a nejakou ďalšou úpravou tvojho? Výsledok bude predsa ten istý - musíš zmeniť kód.
unlucky
Profil
tusim, ze ma na mysli neco jako http://www.casovac.cz/vypocet-casu
blažek
Profil *
možná na to existuje nějaká funkce, ale podle

Peet:
vim ze kdyz udelam
>
>
$rozdil/60/60/24;
zjistim kolik zbyva dni.
ale hodiny minuty a sekundy uz nevim.

bych to viděl nějak tahkle

<?php

$ted = time();
$jinyDen=strtotime("10.02.2013");
$rozdil=$jinyDen-$ted;
 
$dny = floor($rozdil / 86400); //celkovy pocet sec. rozdilu vydelime poctem sekund ve dni a zaokrouhlime dolu
$hodiny = floor( ($rozdil % ($dny*86400)) / 3600); 
$minuty = floor(( ($rozdil % ($dny*86400)) % 3600) / 60);
$sekundy = (($rozdil % ($dny*86400)) % 3600) % 60;

echo "zbývá $dny dnů, $hodiny hodin, $minuty minut a $sekundy sekund";
není to ale moc hezké a doporučuji použít řešení od tisa =))
1Pupik1989
Profil
Nebo, já používám:

<?php
$ted = time();
$jinyDen=strtotime("10.02.2013");
$rozdil=$jinyDen-$ted;

$d = 24*60*60;
$h = 60*60;

$dny = floor($rozdil/$d);
$rozdil -= $dny*$d;
$hodiny = floor($rozdil/$h);
$rozdil -= $hodiny*$h;
$minuty = floor($rozdil/60);
$rozdil -= $minuty*60;
$sekundy = $rozdil; 

echo "zbývá $dny dnů, $hodiny hodin, $minuty minut a $sekundy sekund";
?>

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: