Bouts de Codes PHP

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

Information sur le code source PHP

Ecrit par :  IlbeeNetwork
Site de l'auteur Voir
Codes en PHP de l'auteur : [7] sources Voir
Enregistrement le 09 Sept 2008 - Vu 4458 fois
Impression: Imprimer le code
9
10

Description du code source

Information sur le code source

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.

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 source

Fonctions php / mysql PHP

  • substr : Retourne un segment de chaîne - (PHP 4, PHP 5)
  • array : Crée un tableau - (PHP 4, PHP 5)
  • array_combine : Crée un tableau à partir de deux autres tableaux - (PHP 5)
  • mktime : - (PHP 4, PHP 5)
  • time : Retourne le timestamp UNIX actuel - (PHP 4, PHP 5)
  • ceil : Arrondit au nombre supérieur - (PHP 4, PHP 5)
  • abs : Valeur absolue - (PHP 4, PHP 5)
  • echo : Affiche une chaîne de caractères - (PHP 4, PHP 5)
  • date : Formate une date/heure locale - (PHP 4, PHP 5)

Commentaire (1)
Nouveau message Invité
le 22 Juin 2009 à 07:50:00
C'est bien joli, mais quels champs doit-on modifier pour avoir l'affichage désiré ?

Poster un commentaire

:P :)
:wink: :lol:
:surprised: :confused:
:idea: :no:
Taille du texte:
Couleur:
 
Code de sécurité
Offres d'emploi
Librairie

Langages de programmation

La librairie est ouverte à tous et elle est accès principalement sur les langages PHP et MySQL. Vous trouverez aussi d'autres langages de programmation tel que le CSS, HTML, AJAX, ASP.. Plus de 300 références facilement accessibles. Visiter

  • PHP 5.2 - Développer un site Web dynamique et interactif
  • PHP 5 avancé
  • CSS (1 et 2.1), JavaScript, DHTML : Entraînez-vous à dynamiser votre code source
  • HTML : Liste des principales balises - Regroupement thématique - Caractères spéciaux - Syntaxe détaillée - 140 couleurs
  • Design web : utiliser les standards : CSS et XHTML
  • Flash dynamique (+ CD-Rom) : Programmation côté serveur avec ASP, PHP, XML et Generator
  • PHP avancé
  • Maîtriser MySQL 5
  • HTML 4 en 30 étapes faciles
  • MySQL et PHP : Site web dynamique