Page 1 sur 1

Date en fr

Posté : 30 juin 2015, 21:43
par yoann38
Salut à tous.
Je créer ce nouveau post car le problème n'est pas le même.

En fait ds l'explode les date sont sous la forme par exemple: 20/06/2015 et moi je souhaite 2015-12-27
du coup il faut remplacer les / par des -
convertir les date ?

mon code:
// on parcourt le tag longDescription du XML
	  $longDescription = addslashes($item->longDescription);
	  $decoupe = multiexplode(array("|"," ","|"," "),$longDescription);
	  
	  // Début événement
	  $dateDebut = $decoupe[0];
	  $heureDebut = $decoupe[1];
	  
	  
	  // si il n y a pas de date de fin alors je lui attribue la date de début
	  if (empty($decoupe[0])) {
	  $dateDebut = NULL;
	  } else {
	  $decoupe[0] = $dateDebut; 
	  }
	  
	  // si il n y a pas de date de fin alors je lui attribue la date de début
	  if (empty($decoupe[0])) {
	  $heureDebut = NULL;
	  } else {
	  $decoupe[0] = $heureDebut; 
	  }
	  

	  // si il n y a pas de date de fin alors je lui attribue la date de début
	  if (empty($decoupe[2])) {
	  $dateFin = $date_fin_sortie;
	  } else {
	  $decoupe[2] = $dateFin; 
	  }
	  
	  // si il n y a pas d'heure de fin alors je lui attribue l'heure de début
	  if (empty($decoupe[3])) {
	  $heurefin = $heureDebut;
	  } else {
	  $heurefin = $decoupe[3]; 
	  }
	  

	  // on affiche heure et date de début
	  echo '<strong>Titre: </strong>' .$titre .'<br>';
	  echo '<strong>Date début</strong>' .$dateDebut .'<br>';
	  echo '<strong>Horaire début</strong>' .$heureDebut .'<br><br><br>';
	  
	  // on affiche heure et date de fin
	  echo '<strong>Date Fin</strong>' .$dateFin .'<br>';
	  echo '<strong>Horaire Fin</strong>' .$heurefin .'<br><br><br>';
	  
	  // séparation des données
	  echo'---------------------------------<br>';

Re: Date en fr

Posté : 30 juin 2015, 22:02
par tof73
toujours et encore explode, puis tu reconstruis la chaine à partir des éléments du tableau dans le bon ordre.

Re: Date en fr

Posté : 30 juin 2015, 23:26
par Genova
Le mieux est de créer un objet DateTime en utilisant DateTime::createFromFormat.
$date = '20/06/2015';
$datetime = \DateTime::createFromFormat('d/m/Y', $date);
echo $datetime->format('Y-m-d');

Re: Date en fr

Posté : 01 juil. 2015, 09:30
par Ryle
Bonjour,

A lire également dans la FAQ : Quelques petites manipulations avec les dates (PHP/MySQL)

Re: Date en fr

Posté : 02 juil. 2015, 16:54
par yoann38
Salut alors mon problème de date est résolu mais à la fois ce corse un peu.

J'affiche mes date comme ceux ci.
Mais il se peut que mes date ressorte comme ça : Lundi 30 Novembre -0001 au Jeudi 31 Décembre 2015
Ca peut paraitre bizar mais c'est voulu

Je souhaite juste faire un truc que si Y = -0001 alors ne pas afficher la date Lundi 30 Novembre -0001 mais uniquement Jeudi 31 Décembre 2015

Mon code actuel:
<?php echo ucfirst($jour[$dated->format('N')]); ?> <?php echo $dated->format('d'); ?> <?php echo ucfirst($mois[$dated->format('n')]); ?> <?php echo $dated->format('Y'); 
              echo ($ligne['date_debut_sortie'] != $ligne['date_fin_sortie']) ? ' 
			  ' .'au ' .ucfirst($jour[$datef->format('N')]).' '.$datef->format('d').' '.ucfirst($mois[$datef->format('n')]).' '.$datef->format('Y') : NULL; ?>
Merci à vous encore :wink:

Re: [RESOLU] Date en fr

Posté : 03 juil. 2015, 17:51
par Ryle
Bonjour,

En fait, ce que tu veux faire c'est un test du genre :

SI
$dated->format('Y') est différent de '-0001'
ALORS
affiches le jour, le mois et l'année de début

SI
$dated->format('Y') est différent de '-0001' OU $ligne['date_debut_sortie'] != $ligne['date_fin_sortie']
ALORS
affiches le déterminant/préposition "au"

SI
$ligne['date_debut_sortie'] != $ligne['date_fin_sortie']
ALORS
affiches le jour, le mois et l'année de fin

;)