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 :

DIFF : différence de dates


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 62
    Points : 43
    Points
    43
    Par défaut DIFF : différence de dates
    Bonjour à tous !

    Pardonnez moi de solliciter votre aide, mais voilà plusieurs jours que je m'arrache les cheveux pour faire la différence entre deux dates.
    Je récupère deux dates depuis un fichier XML créer par un environnement SOAP sur le serveur du site qui me fournit les données.
    Je souhaite les soustraire l'une à l'autre.
    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
    24
    25
    26
    27
     
    $params = [
    	"user" 	=> 	"*****",
    	"pass" 	=> 	"*****",
    	"immat"	=>	$_GET['immat'],
    	"since"	=>	$_GET['since'],
    	];
     
    $url = "https://www.siteduserveur.com/soap.php?wsdl";
    $client = new SoapClient($url);
    $result = $client->__soapCall("GetFlightsSince", $params);
     
    // 	Ouverture du fichier XML qui contient les vols
    $vols = new SimpleXMLElement($result);
     
    echo '<pre>';
    foreach ($vols->flight as $vol) {
     
    		$start_vol = new DateTime($vol->start_bloc);
    		$stop_vol  = new DateTime($vol->stop_bloc);
     
    /* 1 */		$intervalle = date_diff($stop_vol->date, $start_vol->date);
     
              		echo $intervalle;
     
    /* 2 */		echo $stop_vol->diff($start_vol);
    }
    aucune des formulations ne fonctionne : ni /* 1 */ ni /* 2 */ sur mon serveur (OVH)
    pourtant cela fonctionne sur celui du serveur. J'ai essayé tous les print_r et var_dump possibles et imaginables. Je n'ai pas accès au infophp() de ce serveur puisque c'est un service commercial, mais j'ai eu le webmaster au téléphone qui a fait le test et pour qui cela marche.

    Je ne cherche pas spécialement de solution au problème vu que je l'ai résolu en utilisant strtotime() pour faire ma soustraction et récupérer des secondes que je mets en forme plus loin, mais je voudrais savoir s'il y aurait une extension à installer sur le serveur qui fait tourner php ?

    J'espère n'avoir pas été trop brouillon...
    En vous remerciant !
    Michel

  2. #2
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    La majorité des hébergeurs d'applications et services web offrent le déploiement des applications PHP.
    Pour OVH voir
    1. https://www.ovh.com/fr/hebergement-web/php.xml
    2. https://docs.ovh.com/fr/fr/web/hosti...espace-client/
    3. https://docs.ovh.com/fr/fr/web/hosti...web-mutu-2014/

    Pour ton sript, je le regarde tout de suite.
    L’appétit vient en mangeant.
    Pourquoi compliquer quand on peut faire plus simple?
    Une réponse vous a été utile? pensez à
    Vous avez eu la réponse à votre question? marquez votre discussion
    Faites un tour aux FAQs et aux tutoriels et cours.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 62
    Points : 43
    Points
    43
    Par défaut
    Et bien je ne savais pas qu'on pouvait modifier la configuration PHP sur le serveur OVH, si c'est bien ce que je comprends. Quoi qu'il en soit je pense que c'est au-dessus de mes moyens... sauf à recopier ce qu'on me dirait, mais je ne conanis rien à cette partie-là de l'affaire.

    Et merci de ton message !

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Il y a peut être une version de PHP ou tu faire un echo de l'objet datediff mais ce n'est pas le fonctionnement recommandé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $intervalle->format('%a jours');
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 62
    Points : 43
    Points
    43
    Par défaut
    dans ce cas il répond
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($intervalle);           -->     intervalle : bool(false)

  6. #6
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Bonjour, et avec $intervalle = date_diff($stop_vol, $start_vol); ? , vérifiez aussi le contenu de $stop_vol et $start_vol pour voir s'ils contiennent des objets "DateTime" valides.
    Le serveur n'affiche pas les erreurs, normal en prod, donc si vous pouvez vérifier les logs, faites le car cette partie du foreach en l'état contient des erreurs.
    Le bienfait n'est jamais perdu

Discussions similaires

  1. Différence de Date
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 08/12/2006, 16h23
  2. différence entre date ?
    Par jessy212 dans le forum Oracle
    Réponses: 9
    Dernier message: 30/09/2006, 08h16
  3. Réponses: 1
    Dernier message: 23/06/2006, 19h10
  4. [SQL] Différence de dates
    Par fikou dans le forum Access
    Réponses: 14
    Dernier message: 07/06/2006, 13h41
  5. Fonction de différence de dates
    Par mr.t dans le forum Access
    Réponses: 12
    Dernier message: 21/02/2006, 17h54

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