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 :

Comparer deux temps


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 156
    Par défaut Comparer deux temps
    Bonjour tout le monde,
    J'essaie de développer une fonction qui compare deux temps mais elle ne fonctionne pas.
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public function beforeTime (string $startField, string $endFiled) {
     
       if ( $this->$startField && $this->$endFiled ) {
        $h_debut = DateTime::createFromFormat('H:i:s', $this->data[$startField]);
        $h_fin = DateTime::createFromFormat('H:i:s', $this->data[$endFiled]);
           if ( $h_debut->getTimestamp() > $h_fin->getTimestamp() ) {
            $this->errors[$startField] = "L'heure de début doit être inférieure à l'heure de fin";
            return false;
           }
           return true;
       }
         return false;
      }
    Est ce que vous pouvez m'aider SVP ?
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    que valent $startField et $endFiled ? (ils sont formatés comment ?)

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 156
    Par défaut
    Ce sont des strings que j'utilise ensuite pour formater h_debut et h_fin
    J'utilise ensuite
    $this->validate('h_debut', 'beforeTime', 'h_fin');dont h_debut et h_fin sont des champs de type time

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par hichamus13 Voir le message
    ...des champs de type time
    <input type="time">, donc de la forme hh:mm.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $time1 = '18:25';
    $time2 = '21:47';
     
    $datetime1 = new DateTime($time1);
    $datetime2 = new DateTime($time2);
    $interval = $datetime1->diff($datetime2);
     
    echo '<pre>';
    print_r( $interval );
    echo '</pre>';
     
    echo $interval->invert; // 0 si $time2>=$time1 ou 1 si $time2<$time1

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 156
    Par défaut
    ça fonctionne
    Merci beaucoup pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/11/2019, 15h59
  2. Comparer deux temps
    Par LandGreen dans le forum SQL
    Réponses: 6
    Dernier message: 25/06/2018, 11h32
  3. comment comparer deux temps avec SWRL
    Par Assoumarh dans le forum Web sémantique
    Réponses: 0
    Dernier message: 03/10/2014, 21h40
  4. Réponses: 1
    Dernier message: 09/03/2014, 21h46
  5. [date] Comparer deux formats différents
    Par terziann dans le forum Requêtes
    Réponses: 17
    Dernier message: 21/07/2003, 15h21

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