IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Afficher la date j-1 quand l'heure est inférieur à 5h


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut Afficher la date j-1 quand l'heure est inférieur à 5h
    Bonjour, je souhaiterais afficher la date du jour précédent lorsque l'heure est compris en 00h et 5h du matin le jour suivant,

    par exemple je suis sur ma page le 13 juillet à 3h du matin, il devrait m'afficher 12 juillet poste de nuit jusqu'au 13 juillet à 5h du matin, seulement après 5h affiché 13 juillet poste du matin !

    voila mon code (il traduit aussi la date au complet en français), mais qui ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php 
     
      function date_fran() // Fonction qui permet de convertir la date en francais
      {
      $mois = array("Janvier", "Fevrier", "Mars",
                    "Avril","Mai", "Juin", 
                    "Juillet", "Août","Septembre",
                    "Octobre", "Novembre", "Decembre");
      $jours= array("Dimanche", "Lundi", "Mardi",
                    "Mercredi", "Jeudi", "Vendredi",
                    "Samedi");
      return $jours[date("w")]." ".date("j").(date("j")==1 ? "er":" ").
             $mois[date("n")-1]." ".date("Y");
      }
     
     
    if (date("H") >= 00 || date("H") <= 5) {
       echo date_fran() - 1; // ici je voudrai soustraire un jours quand l'heure est comprise entre 00H et 5H 
    }
    else { echo date_fran(); // sinon le reste du temps il affiche correct
    }
     
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Moi je mettrais en paramètre de ta fonction, la date a convertir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    function date_fran($timestamp) // Fonction qui permet de convertir la date en francais
      {
      $mois = array("Janvier", "Fevrier", "Mars",
                    "Avril","Mai", "Juin", 
                    "Juillet", "Août","Septembre",
                    "Octobre", "Novembre", "Decembre");
      $jours= array("Dimanche", "Lundi", "Mardi",
                    "Mercredi", "Jeudi", "Vendredi",
                    "Samedi");
      return $jours[date("w",$timestamp)]." ".date("j",$timestamp).(date("j",$timestamp)==1 ? "er":" ").
             $mois[date("n",$timestamp)-1]." ".date("Y",$timestamp);
      }
     
    if (date("H") >= 0 && date("H") <= 5) {
       echo date_fran(strtotime('-1 DAY')); // ici je voudrai soustraire un jours quand l'heure est comprise entre 00H et 5H 
    }
    else { echo date_fran(mktime()); // sinon le reste du temps il affiche correct
    }
     
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut
    j'ai fait ca mais voila l'erreur ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Warning: Missing argument 1 for date_fran(), called in C:\Program Files\EasyPHP 3.0\www\pcfour\rapport.php on line 195 and defined in C:\Program Files\EasyPHP 3.0\www\pcfour\rapport.php on line 6
     
    Notice: Undefined variable: timestamp in C:\Program Files\EasyPHP 3.0\www\pcfour\rapport.php on line 15
     
    Notice: Undefined variable: timestamp in C:\Program Files\EasyPHP 3.0\www\pcfour\rapport.php on line 15
     
    Notice: Undefined variable: timestamp in C:\Program Files\EasyPHP 3.0\www\pcfour\rapport.php on line 15
     
    Notice: Undefined variable: timestamp in C:\Program Files\EasyPHP 3.0\www\pcfour\rapport.php on line 16
     
    Notice: Undefined variable: timestamp in C:\Program Files\EasyPHP 3.0\www\pcfour\rapport.php on line 16
    Jeudi 1erJanvier 1970
    la ligne 6 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function date_fran($timestamp) // Fonction qui permet de convertir la date en francais
    la ligne 15 et 16 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      return $jours[date("w",$timestamp)]." ".date("j",$timestamp).(date("j",$timestamp)==1 ? "er":" ").
             $mois[date("n",$timestamp)-1]." ".date("Y",$timestamp);
    Mais merci pour ta piste, je vais essayé de chercher

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pour t'éviter de modifier l'appelle de la fonction dans le reste du code, tu peux faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    function date_fran($timestamp = NULL) // Fonction qui permet de convertir la date en francais
      {
      if(!$timestamp) { $timestamp = mktime(); }
      $mois = array("Janvier", "Fevrier", "Mars",
                    "Avril","Mai", "Juin", 
                    "Juillet", "Août","Septembre",
                    "Octobre", "Novembre", "Decembre");
      $jours= array("Dimanche", "Lundi", "Mardi",
                    "Mercredi", "Jeudi", "Vendredi",
                    "Samedi");
      return $jours[date("w",$timestamp)]." ".date("j",$timestamp).(date("j",$timestamp)==1 ? "er":" ").
             $mois[date("n",$timestamp)-1]." ".date("Y",$timestamp);
      }
     
    if (date("H") >= 0 && date("H") <= 5) {
       echo date_fran(strtotime('-1 DAY')); // ici je voudrai soustraire un jours quand l'heure est comprise entre 00H et 5H 
    }
    else { echo date_fran(); // sinon le reste du temps il affiche correct
    }
     
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut
    Impeccable merci, mais tu m'expliquer la différence avec NULL ? merci encore

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est juste une fausse valeur par défaut pour attribuer en dessous mktime() comme vraie valeur par défaut.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [XL-2007] Afficher la date et l'heure en interdisant la mise à jour
    Par vali25 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/10/2010, 21h43
  2. Afficher la date et l'heure du poste client sur un rapport
    Par o-l-i-v-i-e-r dans le forum BIRT
    Réponses: 1
    Dernier message: 20/09/2010, 12h55
  3. Afficher la date sans les heures
    Par danduril dans le forum BIRT
    Réponses: 2
    Dernier message: 08/07/2008, 17h00
  4. Afficher une date et heure
    Par arnaudperfect dans le forum C
    Réponses: 4
    Dernier message: 08/01/2008, 09h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo