Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
909 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Calcul différence de deux dates au format FR

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Calcul différence de deux dates au format FR

n°2189357
MaRTy59
Posté le 08-05-2013 à 16:56:09  profilanswer
 

Salut,  
 
J'ai besoin de calculer la différences entre deux dates pour un calcul de prorata, le soucis est que la fonction que j'utilise demande une date au format MM/JJ/AAAA, j'aurais besoin dans mon formulaire de rentrer des dates au format FR JJ/MM/AAAA.
 
Voici le code utilisé :
 

Code :
  1. <body>
  2.  <form action="" method="post">
  3.   <p>
  4.   <table>
  5.    <tr><td><label for="date1">Date du jour (MM/JJ/AAAA)</label> : </td><td><input type="text" name="date1"/></td></tr>
  6.    <tr><td><label for="date2">Date d'expiration du service (MM/JJ/AAAA)</label> : </td><td><input type="text" name="date2"/></td></tr>
  7.    <tr><td><label for="prix1">Prix de l'ancienne offre (en HT/mois)</label> : </td><td><input type="text" name="prix1"/></td></tr>
  8.    <tr><td><label for="prix2">Prix de la nouvelle offre (en HT/mois)</label> : </td><td><input type="text" name="prix2"/></td></tr>
  9.    <tr><td><input type="submit" value="Valider" /></td></tr>
  10.   </table>
  11.   </p>
  12.  </form>
  13. </body>
  14. </html>
  15. <?php
  16. function diff_date($date1, $date2)
  17. {
  18.     $s = strtotime($date2)-strtotime($date1);
  19.     $d = intval($s/86400);
  20.     return "$d";
  21. }
  22. if (isset($_POST['date1']) AND isset($_POST['date2']))
  23. {
  24.     $d = diff_date($_POST['date1'], $_POST['date2']);
  25.     $argentRestant = (($d * $_POST['prix1']) / 31);
  26.     $prorata = (($argentRestant * 31) / $_POST['prix2']);
  27.     echo 'Nombres de jours restants est de ' . $d;
  28.     echo '<br/>L\'argent restant sur l\'ancienne offre est de ' . $argentRestant;
  29.     echo '<br/>Le nombre de jours &agrave; ajouter &agrave; la nouvelle offre est de ' . $prorata;
  30. }
  31. else
  32. {
  33.     echo '';
  34. }
  35. ?>


 
Auriez vous une idée ?  
 
Merci :)

mood
Publicité
Posté le 08-05-2013 à 16:56:09  profilanswer
 

n°2189385
rufo
Pas me confondre avec Lycos!
Posté le 08-05-2013 à 18:46:32  profilanswer
 

Déjà tu te trompes, ta fonction attends une date au format AAAA-MM-JJ Puisqu'elle fait un strtotime() sur les dates passées en paramètres.
 
Tout ce que t'as à faire, c'est une fonction convertissant une date du format FR au format anglais ;)
 
Au choix, avec les expressions régulières ou avec explode() et implode()
Ex :  

Code :
  1. function dateFrToEn($date)
  2. {
  3.    return implode('-', array_reverse(explode('/', $Date)));
  4. }


Complètes la fonction pour qu'elle vérifie que la date en entrée est bien en anglais, mais c'est l'idée : changer de séparateur et l'ordre des champs dans la date.


Message édité par rufo le 08-05-2013 à 18:47:03

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2189625
MaRTy59
Posté le 10-05-2013 à 17:50:50  profilanswer
 

Merci bien, je vais tester ça dès que j'ai du temps :)
 
Merci !

n°2190690
KLeMiX
Laisse pas trainer ton site
Posté le 17-05-2013 à 17:07:36  profilanswer
 

$d1 = new \DateTime("now",new \DateTimeZone('Europe/Paris'));  
$d2 = new \DateTime($jour->getDate()->format('Y-m-d H:i:s'),new \DateTimeZone('Europe/Paris'));    
$interval = $d1->diff($d2);
$nb_heure = (((int)$interval->format('%r%d'))*60) + (int)$interval->format('%r%h');
 
Pour mes besoins j'ai fait un truc comme cela
Si ça peut t'aider


---------------
www.pronovolley.fr Faites vos prono sur la ligue de Volley et défiez vos amis. Des cadeaux en fin d'année  www.levoll.fr

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Calcul différence de deux dates au format FR

 

Sujets relatifs
[VBA-Macros][Excel]Comparaison de deux datesRequête Sql - Trouver dates les plus proches
[access 2003] - Incrémentation de DatesEnregistrer une feuille au format txt
calcul de la prime d'un optionDifférence entre pointeur de pointeur et vector de pointeur
SOS formule excel avec datesCalcul EXCEL
Copier Coller une plage excel dans PPT en format ImageWord VB et calcul sur des objets insérés
Plus de sujets relatifs à : Calcul différence de deux dates au format FR


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR