Vous êtes ici Codes PHP et MySQL > Date-Heure > (PHP5) Calculer le temps restant ou le temps...

 

(PHP5) Calculer le temps restant ou le temps ecoulé

Ce bout de code permet de calculer le temps restant avant une date (Jour > Heure > Minute).
Ou si la date est déjà passé, le temps ecoulé depuis cette date (Minute > Heure > Jour).

Ce code utilise egalement une fonction perso qui permets de bien ecrire le français grace a la fonction 'AuPluriel()'.

Voici une autre utilisation possible de la fonction Transformation d'un DateTime SQL en tableau.
 
IlbeeNetwork
Site de l'auteur voir
[7] sources en PHP voir
Code vu 7939 fois
Enregistré le 09 Sept 2008
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute (PHP5) Calculer le temps restant ou le temps ecoulé
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : (PHP5) Calculer le temps restant ou le temps ecoulé       */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts457-PHP.htm              */
/* Auteur         : IlbeeNetwork                                              */
/* Date édition   : 09 Sept 2008                                              */
/* Website auteur : http://www.ilbee.net/                                     */
/*                                                                            */
/******************************************************************************/

function Date_ConvertSqlTab($date_sql) {
    $jour substr($date_sql82);
    $mois substr($date_sql52);
    $annee substr($date_sql04);
    $heure substr($date_sql112);
    $minute substr($date_sql142);
    $seconde substr($date_sql172);
    
    $key = array('annee''mois''jour''heure''minute''seconde');
    $value = array($annee$mois$jour$heure$minute$seconde);
    
    $tab_retour array_combine($key$value);
    
    return $tab_retour;
}

function AuPluriel($chiffre) {
    if($chiffre>1) {
        return 's';
    };
}

function TimeToJourJ($date_sql) {
    $tab_date Date_ConvertSqlTab($date_sql);
    $mkt_jourj mktime($tab_date['heure'],
                    $tab_date['minute'],
                    $tab_date['seconde'],
                    $tab_date['mois'],
                    $tab_date['jour'],
                    $tab_date['annee']);

    $mkt_now time();
    
    $diff $mkt_jourj $mkt_now;
    
    $unjour 3600 24;
    
    if($diff>=$unjour) {
        // EN JOUR
        $calcul $diff $unjour;
        return 'Il reste <strong>'.ceil($calcul).' jour'.AuPluriel($calcul).'</strong>.';

    } elseif($diff<$unjour && $diff>=&& $diff>=3600) {
        // EN HEURE
        $calcul $diff 3600;
        return 'Il reste <strong>'.ceil($calcul).' heure'.AuPluriel($calcul).'</strong>.';

    } elseif($diff<$unjour && $diff>=&& $diff<3600) {
        // EN MINUTES
        $calcul $diff 60;
        return 'Il reste <strong>'.ceil($calcul).' minute'.AuPluriel($calcul).'</strong>.';

    } elseif($diff<&& abs($diff)<3600) {
        // DEPUIS EN MINUTES
        $calcul abs($diff) / 60;
        return 'Depuis <strong>'.ceil($calcul).' minute'.AuPluriel($calcul).'</strong>.';

    } elseif($diff<&& abs($diff)<=3600) {
        // DEPUIS EN HEURES
        $calcul abs($diff) / 3600;
        return 'Depuis <strong>'.ceil($calcul).' heure'.AuPluriel($calcul).'</strong>.';        

    } else {
        // DEPUIS EN JOUR
        $calcul abs($diff) / $unjour;
        return 'Depuis <strong>'.ceil($calcul).' jour'.AuPluriel($calcul).'</strong>.';

    };
}

// EXEMPLE //
// Affiche le temps passé depuis le 28 juin 2008 a 14h //
// Le jour de mon mariage //
echo 'Temps depuis le 28 juin 2008 à 14 heures : ';
echo TimeToJourJ('2008-06-28 14:00:00');
echo '<br /><br />';

// EXEMPLE //
// Affiche le temps restant jusqu'au 01 janvier prochain //
$next_jourdelan date('Y') + 1;
echo 'Temps restant jusqu\'au prochain jour de l\'an : ';
echo TimeToJourJ($next_jourdelan.'-01-01 00:00:00');
?>

 

Fonctions du code

: Retourne un segment de chaîne - (PHP 4, PHP 5)
: Crée un tableau - (PHP 4, PHP 5)
: Crée un tableau à partir de deux autres tableaux - (PHP 5)
: - (PHP 4, PHP 5)
: Retourne le timestamp UNIX actuel - (PHP 4, PHP 5)
: Arrondit au nombre supérieur - (PHP 4, PHP 5)
: Valeur absolue - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: Formate une date/heure locale - (PHP 4, PHP 5)
Commentaires
C'est bien joli, mais quels champs doit-on modifier pour avoir l'affichage désiré ?
 
A partir de la ligne 93 tu peux modifier pour indiquer la date que tu desire
 
Bonjour, il y a une erreur à la ligne 89, à propos du point virgule :)
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Date-Heure

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
        Publicité