verschil in tijd berekenen (TIMESTAMP)

Status
Niet open voor verdere reacties.

tyrope

Gebruiker
Lid geworden
10 feb 2006
Berichten
58
Hallo,

In mijn database heb ik een TIMESTAMP veld, hierin word opgeslagen wanneer gegevens voor het laatst zijn ge-update, voor een stuk van mijn script wil ik het aantal seconden tussen "nu" en "datum in database"

hieronder wat code wat ik gebruik om de data uit MySQL te halen:
PHP:
require('inc/connect.php');
$results = mysql_query("SELECT `user_id`,`updated` FROM `table5768`");
$arr = mysql_fetch_row($results);
mysql_close();
$SQL['id'] = $arr[0];
$SQL['time'] = $arr[1];
unset($arr);
en hier het stukje wat deze "timestamp" dan omzet in de date("U") format om mee te rekenen. (hier zit denk ik de fout)
PHP:
function formatTime($timestamp){
	$stamp = explode(" ",$timestamp);
	$stamp['time'] = explode(":",$stamp[1]);
	$stamp['date'] = explode("-",$stamp[0]);
	return mktime((int)$stamp['time'][0], (int)$stamp['time'][1], (int)$stamp['time'][2], (int)$stamp['date'][1], (int)$stamp['date'][2], (int)$stamp['date'][0]);
}
weet niet of het nodig/handig is, maar ik draai PHP 5.1.0RC1 en MySQL 4.1.13a-nt
 
Laatst bewerkt:
Sorry voor dubbelpost, maar een klasgenoot heeft het al opgelost voor me:

SQL timestamp naar Unix (seconden sinds 1-1-1970)
PHP:
function formatTime($input){
	$temp = explode(" ",$input);
	$date = explode("-",$temp[0]);
	$time = explode(":",$temp[1]);
	return mktime($time[0], $time[1], $time[2], $date[1], $date[2], $date[0]);
}
verschil uitrekenen:
PHP:
$nu = time();
$toen = formatTime($SQL['time']);
echo 'SQL tijd: '.$toen.'<br>Nu: '.$nu.'<br>Verschil: '.(($toen-$nu)/60).'<br>';
 
Ter extra informatie: je kunt het ook via mysql doen:

[sql]select (unix_timestamp(now())-unix_timestamp(kolomnaam)) as verschil from tabelnaam[/sql]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan