Bonjour
Au lieu d'embêter mes collègues s'en arrêt, je vous pose la question ^^
Je récupère via du XML des dates et horaires de films. Il faudrait que j'affiche les horaires à J+15.
Le code suivant me permet de récupérer les dates et horaires de mes films.
A l'aide d'un date diff je récupère le temps écoulé entre 2 dates (celle du jour et celle du film). Et j'affiche mes horaires que pour J+15. Seulement (ben oui ce serais trop simple) la différence entre mes deux dates ne prend en compte que le jour et pas le mois. Je voudrais que ça prenne en compte les deux !
Par exemple :
- Pour la date du jour = 2012-07-19 et la date evenement = 2012-08-02 l'interval est de 14 ce qui correspond par rapport au calendrier
- Mais pour la date du jour = 2012-07-19 et la date evenement = 2012-08-19 l'interval est de 0 alors qu'il devrait être de 30.
Comment faire ??
Mon code :
Merci d'avance.
Mélusine
Au lieu d'embêter mes collègues s'en arrêt, je vous pose la question ^^
Je récupère via du XML des dates et horaires de films. Il faudrait que j'affiche les horaires à J+15.
Le code suivant me permet de récupérer les dates et horaires de mes films.
A l'aide d'un date diff je récupère le temps écoulé entre 2 dates (celle du jour et celle du film). Et j'affiche mes horaires que pour J+15. Seulement (ben oui ce serais trop simple) la différence entre mes deux dates ne prend en compte que le jour et pas le mois. Je voudrais que ça prenne en compte les deux !
Par exemple :
- Pour la date du jour = 2012-07-19 et la date evenement = 2012-08-02 l'interval est de 14 ce qui correspond par rapport au calendrier
- Mais pour la date du jour = 2012-07-19 et la date evenement = 2012-08-19 l'interval est de 0 alors qu'il devrait être de 30.
Comment faire ??
Mon code :
$parametres = simplexml_load_file('fichier.xml');
$horaires = $parametres->listeEvenements->evenement->listeRepresentations->representation;
foreach( $horaires as $horaire) {
$heure = $horaire->debut; // On récupère les horaires
$pieces = explode(" - ", $heure); // On divise la chaine de caractere 19/07/2012 - 11:30
$date_evenement_before = $pieces[0];// Date evenement type 19/07/2012
$date_evenement = explode('/', $date_evenement_before);
$date_evenement_after = $date_evenement[2].'-'.$date_evenement[1].'-'.$date_evenement[0]; // On change la date de 19/07/2012 à 2012-07-19
$date_jour = date('Y-m-d');// Date jour type 2012-07-19
$debut = new DateTime($date_jour);
$fin = new DateTime($date_evenement_after);
$interval = $debut->diff($fin);
$int = $interval->format('%d');
if( $int < 15 ){
echo 'date jour : '.$date_jour;
echo '<br/>date evenement : '.$date_evenement_after;
echo '<br/>interval : '.$int.'<br/>';
$dates = date_create_from_format('d/m/Y', $pieces[0]); // d/m/Y == 01/01/2012
$date = date_format($dates, 'D'); // on modifie la date de 19/07/2012 à Jeudi
//On passe les jours en Français
if ($date == 'Mon'){ echo $date = 'Lundi'; }
elseif($date == 'Tue'){ echo $date = 'Mardi'; }
elseif($date == 'Wed'){ echo $date = 'Mercredi';}
elseif($date == 'Thu'){ echo $date = 'Jeudi'; }
elseif($date == 'Fri'){ echo $date = 'Vendredi';}
elseif($date == 'Sat'){ echo $date = 'Samedi'; }
elseif($date == 'Sun'){ echo $date = 'Dimanche';}
echo '<br/>heure : '.$pieces[1]; // On affiche l'heure
echo '<br/>---------<br/>';
}
}
Merci d'avance.
Mélusine