• PHP : Fonction date

    Voici une liste de fonctions php qui peuvent vous être utiles si vous êtes un jeune Webmaster.

    C'est parti !
    Je ne vous ai pas mis les <?php et le ?> au début des codes.

    Alors voici une fonction qui affiche la date.
    Vous avez 2 choix :

    Avec la fonction strftime :
    setlocale ("LC_TIME", "fr");
    $Jour = strftime("%d");
    $Moisnum = strftime("%m");
    $Annee = strftime("%Y");
    $heure = strftime("%H");
    $minute = strftime("%M");
    $seconde = strftime("%S");
    echo "$Jour/$Moisnum/$Annee $heure:$minute:$seconde";



    Avec la fonction date : (la plus simple)
    echo date("d/m/Y h:i:s");

    Maintenant voici une fonction qui affiche la date du jour en toutes lettres :

    $JourL = strftime("%A");
    $Jour = strftime("%d");
    $Mois = strftime("%B");
    $Annee = strftime("%Y");
    echo "le " . $JourL . " " . $Jour . " " . $Mois . " " . $Annee;


    Maintenant je vais vous montrer une fonction permettant d'afficher un compte à rebours avant une certaine date. Ici la date de mon anniversaire ;)

    1ère méthode :

    <?php
    function decompte($jour, $mois, $annee, $heure=0, $minutes=0, $secondes=0){
        $time = mktime($heure, $minutes, $secondes, $mois, $jour, $annee);
        if($time<time()) $time = 0; // Date déjà passée
        else $time = $time-time();
        return (date('y', $time)-70).' ans, '.
               (date('n', $time)-1).' mois, '.
               (date('j', $time)-1).' jours, '.
               (date('G', $time)-1).' heures, '.
               date('i', $time).' minutes, et '.
               date('s', $time).' secondes';
    }
    echo decompte(10, 9, 2007, 18, 34, 23); // Décompte pour le 10 septembre 2007 à 18h34 et 23s
    ?>


    2ème méthode :

    function decompte2($jour, $mois, $annee, $heure=0, $minutes=0, $secondes=0){
        $time = mktime($heure, $minutes, $secondes, $mois, $jour, $annee);
        if($time<time()) $time = 0; // Date déjà passée
        else $time = $time-time();
        $jours = floor($time/(3600*24));
        $heures = floor($time/(3600))-$jours*24;
        $minutes = floor($time/(60))-$jours*60*24-$heures*60;
        $secondes = $time-$jours*3600*24-$heures*3600-$minutes*60;
        return $jours.' jours, '.
               $heures.' heures, '.
               $minutes.' minutes, et '.
               $secondes.' secondes';
    }
    echo decompte2(10, 9, 2007, 18, 34, 23);


    Voilà, fini pour aujourd'hui ;)

    Merci à Skreo pour son aide


    Tags Tags : , , , , ,
  • Commentaires

    1
    Mardi 9 Janvier 2007 à 16:46
    Vire moi la première méthode, et explique les 2 autres.
    Ca ne sert à rien de donner des codes sans expliquer leur fonctionnement, leurs possiblités, et leurs contraintes
    2
    Mercredi 24 Janvier 2007 à 16:26
    ok boss !
    Jmy met des que j'ai du temps ...
    3
    Mercredi 7 Février 2007 à 22:38
    En effet la gestion des dates a des particularités qui ne s'inventent pas ^^ Comme le pourquoi du 70 et tout ce qui s'ensuit :p
    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :