par

Je cherche à convertir une date passée, qui est au format datetime MySQL (2019-30-01 00:22:35), en un délai, par exemple il y a 35 jours 45 minutes et 20 secondes.

1 Réponse

+1 validé
par

Pour convertir une date au format datetime, en un délai passé, en PHP, vous pouvez utiliser la fonction suivante :

<?php
function delai($date) 
{
    $maintenant = new DateTime;
    $delai = new DateTime($date);
    $diff = $maintenant->diff($delai);
    $diff->w = floor($diff->d / 7);
    $diff->d -= $diff->w * 7;

    $string = array(
        'y' => 'an',
        'm' => 'mois',
        'w' => 'semaine',
        'd' => 'jour',
        'h' => 'heure',
        'i' => 'minute',
        's' => 'seconde',
    );
    foreach ($string as $cle => &$data) 
    {
        if ($diff->$cle) 
        {
            $data = $diff->$cle . ' ' . $data . ((($diff->$cle > 1) && ($cle !='m')) ? 's' : '');
        } 
        else 
        {
            unset($string[$cle]);
        }
    }
    return 'Il y a ' . implode(', ', $string);
}
echo delai('2018-08-01 00:10:44');
?>

Offre Sponsorisée

Ailleurs sur le Web

Lecture Recommandée

Edward Snowden - Mémoires vives

"Je m'appelle Edward Joseph Snowden. Avant, je travaillais pour le gouvernement mais aujourd'hui je suis au service de tous. Il m'a fallu près de trente ans pour saisir la différence et quand j'ai compris, ça m'a valu quelques ennuis au bureau."

L'homme qui a tout risqué pour dénoncer la surveillance globale, ou l'extraordinaire histoire d'un garçon brillant qui a grandi "en ligne", d'un homme devenu espion, puis lanceur d'alerte, et, en exil, la consciencce de l'internet.

Mémoires vives est un témoignage exceptionnel, également disponible en numérique.

Sujets Connexes

Questions liées

1 réponse
1 réponse
1 réponse
1 réponse
1 réponse
posée par anonyme 20-Mars-2020
1 réponse
1 réponse
posée par anonyme 12-Janvier-2020

Merci pour votre visite sur 1FORMATIK.com

Un petit clic sur la pub est toujours apprécié, c'est elle qui finance le site

Bon surf

...