Autor Zpráva
Jack06
Profil
Chtěl bych se optat. v mysql mám zapsanej čas:
23.11.2008 19:09:29

a potřebuji ho odečíst od aktuálního, aby výstup byl v minutách.

Nevíte prosím jak..??

Ten čas dostanu z mysql do proměnné např $oldtime
nynější čas bude $nowtime
a potřebuji v minutách $rozdil

Děkuji předem. Zkoušel jsem to ale nějako mi to házelo čísla 2,848158964 atd atd.
igamenir
Profil
nevim jak to máš v php ale v mysql na to používám toto:
 TIMESTAMPDIFF(MINUTE, muj_cas, NOW()) AS rozdil 
Jack06
Profil
igamenir a jakym zpusobem zapisuješ čas do mysql??
igamenir
Profil
no mám v tabulce sloupce typu TIMESTAMP a dávám tam NOW(), (když se uživatel zaregistruje, přihlásí, načte stránku, ...)
záleží na tom?
srigi
Profil
Jack06
Neviem ci v PHPcku existuje nejake elegantnejsie riesenie, ale toto by mohlo fungovat:
<?php
$oldtime = '23.11.2008 19:09:00';
$nowtime = '23.11.2008 19:10:00';

preg_match("/([0-9]{2}).([0-9]{2}).([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2})/", $oldtime, $oldtime_array);
preg_match("/([0-9]{2}).([0-9]{2}).([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2})/", $nowtime, $nowtime_array);

echo '<pre>'; print_r($nowtime_array); 

$oldtime_timestamp = mktime($oldtime_array[4], $oldtime_array[5], $oldtime_array[6], $oldtime_array[2], $oldtime_array[1], $oldtime_array[3]);
$nowtime_timestamp = mktime($nowtime_array[4], $nowtime_array[5], $nowtime_array[5], $nowtime_array[2], $nowtime_array[1], $nowtime_array[3]);

echo "$oldtime_timestamp<br>$nowtime_timestamp<br>";

$delta = $nowtime_timestamp - $oldtime_timestamp;
$delta_min = round(($delta / 60) ,1);

echo $delta_min;
ninja
Profil
srigi: proc tak komplikovane?

<?php
$oldtime = '23.11.2008 19:09:00';
$nowtime = '23.11.2008 19:10:00';

echo ('Rozdil casu je: ' . round (strtotime ($nowtime) - strtotime ($oldtime)) . ' minut');

?>

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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