[php] [solution] écrire en français le temps écoulé entre deux dates

michel.leonard
WRInaute discret
WRInaute discret
 
Messages: 184
Inscription: 1 Juin 2010

[php] [solution] écrire en français le temps écoulé entre deux dates

Message le Mar Sep 21, 2010 23:57

La fonction est à appeler comme ceci :
Code: Tout sélectionner
<? echo rel_time("10/20/1988"); ?>


Et voici la fonction :
Code: Tout sélectionner
<?
function rel_time($from, $to = null)
{
$to = (($to === null) ? (time()) : ($to));
$to = ((is_int($to)) ? ($to) : (strtotime($to)));
$from = ((is_int($from)) ? ($from) : (strtotime($from)));
$units = array
(
"année" => 31556926,
"mois" => 2629744,
"semaine" => 604800,
"jour" => 86400,
"heure" => 3600,
"minute" => 60,
"seconde" => 1,
);
$diff = abs($from - $to);
setlocale(LC_TIME, "fr_FR");
$variz=strftime("%A %d %B %Y",$from);
$suffix = (($from > $to) ? ("from now") : ("se sont écoulées depuis le ".$variz));
foreach($units as $unit => $mult)
if($diff >= $mult)
{
$and = (($mult != 1) ? ("") : ("et "));
$output .= ", ".$and.intval($diff / $mult)." ".$unit.((intval($diff / $mult) == 1) ? ("") : ("s"));
$diff -= intval($diff / $mult) * $mult;
}
$output .= " ".$suffix;
$output = substr($output, strlen(", "));
return str_replace('moiss','mois',$output);
}
?>


Résultat : "21 années, 11 mois, 2 jours, 2 heures, 31 minutes, et 13 secondes se sont écoulées depuis le jeudi 20 octobre 1988";

En espérant vous apporter quelque chose d'utile, Peace.


anemone-clown
WRInaute passionné
WRInaute passionné
 
Messages: 1277
Inscription: 11 Nov 2007

Re: [php] [solution] écrire en français le temps écoulé entre deux dates

Message le Mer Sep 22, 2010 11:58

Bonjour,

c'est pareil qu'ici http://fr2.php.net/manual/fr/function.time.php#99393 non?

Cela dit, ce calcul n'est valable que pour des durées supérieures à 1 an, sinon, le nombre de mois/jours ne tient pas compte des périodicités 28-30-31 jours. ;)


raljx
WRInaute accro
WRInaute accro
 
Messages: 2823
Inscription: 10 Juil 2006

Re: [php] [solution] écrire en français le temps écoulé entre deux dates

Message le Mer Sep 22, 2010 12:03

ca c'est dla bonne traduction ;)

michel.leonard
WRInaute discret
WRInaute discret
 
Messages: 184
Inscription: 1 Juin 2010

Re: [php] [solution] écrire en français le temps écoulé entre deux dates

Message le Mer Sep 22, 2010 12:44

seulement celui du manuel php est mal calibré chers amis !


padadam22
WRInaute accro
WRInaute accro
 
Messages: 2705
Inscription: 23 Oct 2010

Re: [php] [solution] écrire en français le temps écoulé entre deux dates

Message le Ven Fév 17, 2012 14:02

Tu peux peut-être t'inspirer de ça : http://fr2.php.net/manual/fr/function.time.php#99393 ?


anemone-clown
WRInaute passionné
WRInaute passionné
 
Messages: 1277
Inscription: 11 Nov 2007

Re: [php] [solution] écrire en français le temps écoulé entre deux dates

Message le Ven Fév 17, 2012 14:16

padadam22 a écrit:Tu peux peut-être t'inspirer de ça : http://fr2.php.net/manual/fr/function.time.php#99393 ?

Et un peu avant, j'avais dit :
anemone-clown a écrit:c'est pareil qu'ici http://fr2.php.net/manual/fr/function.time.php#99393 non?

Ca va, on progresse... :lol:


padadam22
WRInaute accro
WRInaute accro
 
Messages: 2705
Inscription: 23 Oct 2010

Re: [php] [solution] écrire en français le temps écoulé entre deux dates

Message le Ven Fév 17, 2012 14:20

(C'était pour être sûr qu'il ait bien compris. :mrgreen: )

Mais quel boulet. J'accumule sur ce topic :lol:
C'est dans ce genre de situation ou l'air de rien, on se retire en baissant la tête, non ?


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité