Es fan servir les funcions mktime(), str_pad() i floor() per a calcular-ho. En l’exemple es calcula el temps passat entre el moment en què es carrega la pàgina i les 01:02:03 del 04/05/2006:
<?php
$timestamp1 = mktime();
$timestamp2 = mktime(1, 2, 3, 5, 4, 2006);
// Data d'exemple: 01:02:03 del 04-05-2006
$diferencia = $timestamp1 - $timestamp2;
echo diferencia_dates($diferencia);
function diferencia_dates($diferencia){
$segons = $diferencia % 60;
$segons = str_pad($segons, 2, "0", STR_PAD_LEFT);
$diferencia = floor($diferencia / 60);
$minuts = $diferencia % 60;
$minuts = str_pad($minuts, 2, "0", STR_PAD_LEFT);
$diferencia = floor($diferencia / 60);
$hores = $diferencia% 24;
$hores = str_pad($hores, 2, "0", STR_PAD_LEFT);
$diferencia = floor($diferencia / 24);
$dies = $diferencia%365;
$dies = str_pad($dies, 2, "0", STR_PAD_LEFT);
$diferencia = floor($diferencia / 365);
$anys = $diferencia;
$cadena = "Han passat ".$anys." anys, ".$dies." dies, ".$hores." hores, ".$minuts." minuts i ".$segons." segons des de les 01:02:03 del 04-05-2006";
return $cadena;
}
?>
Vaig trobar aquest codi fa temps pe algun bloc, no recordo on… L’he traduït i l’he adaptat.