mysql timestamp umwandeln

bfw

Grünschnabel
Hallo Freunde,

ich habe in einer mysql-datenbank einen timestamp(14) (= 20050506113813) zur überprüfung des letzten update's.

jetzt möchte ich mir in php die tage seit dem letzten update des datensatzen berechnen lassen.

wie soll ich das am besten anstellen.

danke
Bernd
 
Hi

Ich habe dazu einfach eine Funktion geschrieben, die mir die Laufzeit ausgibt.
Dazu ziehe ich einfach vom jetzigem Timestamp den gespeicherten Timestamp ab, den erhaltenen Wert übergebe ich an meine Funktion:
PHP:
function zeit($ticker){
   $ticker2=$ticker;
   $wochen=$ticker2/(24*7*3600);
   settype($wochen,integer);
   $ticker2-=$wochen*(24*7*3600);
   $tage=$ticker2/(24*3600);
   settype($tage,integer);
   $ticker2-=$tage*(24*3600);
   $stunde=$ticker2/3600;
   settype($stunde,integer);
   $ticker2-=$stunde*3600;
   $minute=$ticker2/60;
   settype($minute,integer);
   $ticker2-=$minute*60;
   $out="";
   if ($wochen) {$out.="<nobr>$wochen Woche";if($wochen!=1) {$out.="n";}$out.="</nobr> ";}
   if ($tage) {$out.="<nobr>$tage Tag";if($tage!=1) {$out.="e";}$out.="</nobr> ";}
   if ($stunde) {$out.="<nobr>$stunde Stunde";if($stunde!=1) {$out.="n";}$out.="</nobr> ";}
   if ($minute) {$out.="<nobr>$minute Minute";if($minute!=1) {$out.="n";}$out.="</nobr> ";}
   $out.="<nobr>$ticker2 Sekunde";if($ticker2!=1) {$out.="n";}
   $out.="</nobr>";
   return $out;
}

Aufgerufen wird das Ganze einfach in einem ECHO, zB:
PHP:
echo zeit(3600)
... dabei sollte Pi-Mal-Daumen ne Stunde heraus kommen.
Vll kannst Du damit was anfangen ... und hoffendlich geht das Ganze nicht wesendlich einfacher mit dem Time / Date Befehl ;-]

MfG
Posti
 
Hi, hab das ganze jetzt anders gelöst und es funktioniert aber danke für den Denkanstoß.

lg
Bernd



$time = time();
$datum1 = date('d.m.Y', $time);


$abfrage ="SELECT sequence_number, item_id, borrower_id, update_on AS aupdate FROM borrowed_item WHERE item_id = $itemid AND status LIKE 'B'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis)){
$lsequence = $row->sequence_number;
$luser = $row->borrower_id;
$ldatum = $row->aupdate;
}
//-----------------------
$tag = substr($ldatum, -8, 2);
$monat = substr($ldatum, -10, 2);
$jahr = substr($ldatum, -14, 4);

$tag1 = substr($datum1, -10, 2);
$monat1 = substr($datum1, -7, 2);
$jahr1 = substr($datum1, -4, 4);

$Zeitstempel1 = mktime(0,0,0, $monat1, $tag1, $jahr1);
$Zeitstempel2 = mktime(0,0,0, $monat, $tag, $jahr);
$diff = $Zeitstempel1 - $Zeitstempel2;

$diff2 = round(($diff / 86400)+1);
 
Zurück