Changer la date format iso

[Fermé]
Signaler
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
-
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
-
Bonjour,

Je cherche à avoir la date sous cette forme (dd-mm-yyyy), pour l'instant elle est en format iso (yyyy-mm-dd) comment dois-je procéder ?

La récupération de la date s'effectue via un input, ma variable est $date.

Merci d'avance !

7 réponses

Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
94
Salut,

Crée un objet Datetime pour instancier ta date, puis pour l'appeler au format que tu souhaites utilises la méthode format. Dans ton cas ce sera
$datetime->format("d-m-Y");

Résolu? ===> [RESOLU]
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017

Quand tu dis créer un nouvel objet c'est une variable $datetime ?
Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
94
Yep exactement
$datetime = new DateTime();
echo $datetime->format("d-m-Y");


Résolu? ===> [RESOLU]
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017

ça je le place à la suite de mon $date = getpost ("date");
Et je remplace $date par $datetime la ou je veux l'afficher avec le "bon" format
Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
94
Autant pour moi j'ai fais une petite erreur avec l'ancienne fonction date, comme ceci ca devrait marcher si ton getposte("date") renvoie bien une date.

 $datetime=new Datetime(getpost("date"));
 echo $datetime->format("d-m-Y");


Résolu? ===> [RESOLU]
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017

ça m'affiche toujours le format 0000-00-00.
Soit je le place pas au bon endroit ou alors il manque un élément ?
Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
94
Que renvoie exactement ta fonction getpost("date")?
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017

En gros, c'est un formulaire d'intervention (inter.php) que je renseigne avec la date. Une fois ce formulaire remplis, des infos s'affichent dans un tableau (formulaire.php) dont la date.
Si je mets la date dans le format iso ça fonctionne.
Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
94
Si ton getpost("date") retourne une date au format que tu m'as précisé au début, c'est à dire yyyy-mm-dd alors cela doit marcher, ce code
 $datetime=new Datetime("2015-03-12");
 echo $datetime->format("d-m-Y");

retourne bien 12-03-2015
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017

Hélas même résultat 0000-00-00, j'ai bien vérifié l'ordre.
Le fait que dans ma BDD c'est un type date ne pose pas un problème ?
Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
94
Si tu fais echo getpost("date") dans ton code ca te retourne quoi?
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017

Aucune ligne n'apparait.
Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
94
Là je ne vais pas pouvoir faire grand chose, si ta méthode pour récupérer la date ne te renvoie pas de date tu ne pourra pas lui donner le format que tu souhaites.. Il faut commencer pour débuger getpost("date") pour qu'elle retourne une date avant tout!
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017

Le getpost("date") fonctionne vu que j'arrive à envoyer dans ma BDD la date en format iso et la renvoyer dans un tableau.
Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
94
Là je ne sais plus trop, fais un var_dump() de ton getpost("date") et regarde la résultat, s'il ne retourne ni un objet contenant qqch ni une variable qui contient une date, que l'affichage du var_dump() affiche NULL et que ça enregistre qqch en bdd c'est magique.
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017

Je mets var_dump(getpost(("date")) au debut de mon code ?
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017

Help svp !
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017

Voici ma page qui permet d'ajouter une intervention datée :
<!DOCTYPE html>
<?php
	session_start(); // Start la session
	if (!isset($_SESSION['login'])) {
		header ('Location: index.php');
		exit();
	}

	//-----------------------------------------------
	require_once('connect.inc.php');
	// Modificationou création d'une intervention
	if ( isset($_POST['ok']) == "Ok") {
		function getPost($variableName,$defaultValue=''){
			return isset($_POST[$variableName])?$_POST[$variableName]:$defaultValue;
		}

		$id = getPost("id");
		$date = getPost("date");
		$inter = getPost("inter");
		$tech = getPost("tech");
		$comm = getPost("comm");
		$temps = getPost("temps");
		$idclient = getPost("idclient");
		$comm = addslashes("$comm");

		list($annee, $mois, $jour) = explode("-", $date);
		$date = $jour.'/'.$mois.'/'.$annee;

		if($id){
			// Mise à jour via un UPDATE
			$sql_inter = "UPDATE inter
			SET date = '$date'
				, inter = '$inter'
				, tech =  '$tech'
				, comm =  '$comm'
				, temps = '$temps'
			WHERE id ='$id' ";
			$requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>");
		} else {
			// Création d'une nouvelle inter ( INSERT )
			$sql_inter = "INSERT  INTO inter (date, inter, tech, comm, temps, id_client)
							VALUES ('$date','$inter', '$tech', '$comm', '$temps', '$idclient')";
			$requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>");
		}
		mysql_close();

		if($requete) {
			echo("<br>L'insertion a ete correctement effectuee");    
			header('Location: formulaire.php?id='.$idclient);      
			exit();
		} else {
			echo("<br>L'insertion a echouee");
		}
	}

	// Recuperation de l'idclient avec retour à l'accueil sinon ==> id DOIT ETRE PASSSE EN POST OU EN GET
	if (!isset($_GET['idclient'])) {
		unset($_SESSION['login']);
		header ('Location: index.php');
	}
	$idclient = $_GET['idclient'];

	// Recuperation des info de l'inter pour une modification
	$id = isset($_GET['id'])?$_GET['id']:'';

	if ($id) {
		$requet="SELECT *
				FROM inter
				WHERE id = '$id'";
		$result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet);
		$a_data = mysql_fetch_assoc($result);
		mysql_close();
	}

	$date = isset($a_data['date'])?$a_data['date']:'';
	$inter = isset($a_data['inter'])?$a_data['inter']:'';
	$tech = isset($a_data['tech'])?$a_data['tech']:'';
	$comm = isset($a_data['comm'])?$a_data['comm']:'';
	$temps = isset($a_data['temps'])?$a_data['temps']:'';
?>

<html>
	<head>
		<meta charset="utf-8" />
		<link rel="stylesheet" href="style/style.css" />
		<?php
			include('nav.php');
		?>
	</head>
	<body>
		<form name="form" action="#" method="POST">
			<input type="submit" name="ok" value="Ok" />
			<?php if ($id) { ?>
				<input type="hidden" name="id" value="<?php echo $id; ?>" />
			<?php } ?>
			<input type="hidden" name="idclient" value="<?php echo $idclient; ?>" />
			<table id="ren">
				<tr>
					<td>Date</td>
					<td>Type d'inter</td>
					<td>Tech</td>
					<td>Commentaire</td>
					<td> Temps (en min)</td>
				</tr>
				<tr>
					<td>
						<input type="date" name="date" placeholder="JJ-MM-YYYY" value="<?php echo $date ;?>"/>
					</td>
					<?php
						$selected_Teamviewer = ($inter =="Teamviewer")? "selected='selected'" : '' ;
						$selected_Telephonie = ($inter =="Telephonie")? "selected='selected'" : '' ;
						$selected_Deplacement = ($inter =="Deplacement")? "selected='selected'" : '' ;
						$selected_Bureau = ($inter =="Bureau")? "selected='selected'" : '' ;
						echo  '<td><select name="inter"> 
						<option value="Teamviewer" '.$selected_Teamviewer.'> Teamviewer </option>
						<option value="Telephonie" '.$selected_Telephonie.'> Téléphonie</option>
						<option value="Deplacement" '.$selected_Deplacement.'> Déplacement</option>
						<option value="Bureau" '.$selected_Bureau.'> Bureau</option>
						</select></td>';
						$selected_Christophe = ($tech =="Christophe")? "selected='selected'" : '' ;
						$selected_Dimitri = ($tech =="Dimitri")? "selected='selected'" : '' ;
						$selected_Gwenaelle = ($tech =="Gwenaelle")? "selected='selected'" : '' ;
						$selected_Lucas = ($tech =="Lucas")? "selected='selected'" : '' ;
						$selected_Patrick = ($tech =="Patrick")? "selected='selected'" : '' ;
						echo  '<td><select name="tech"> 
						<option value="Christophe" '.$selected_Christophe.'> Christophe </option>
						<option value="Dimitri" '.$selected_Dimitri.'> Dimitri</option>
						<option value="Gwenaelle" '.$selected_Gwenaelle.'> Gwenaelle</option>
						<option value="Lucas" '.$selected_Lucas.'> Lucas</option>
						<option value="Patrick" '.$selected_Patrick.'> Patrick</option>
						</select></td>';
					?>
					<td><script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
						<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
						<textarea name="comm" rows="15" cols="80" ><?php echo $comm ;?></textarea>
					</td>
					<td>
						<input type="number" name="temps" value="<?php echo $temps;?>"/>
					</td>
				</tr>
			</table>
		</form>
	</body>
	<?php
		include('footer.php');
	?>
</html>


Cette partie de mon code permet d'inserer en format FR:
list($annee, $mois, $jour) = explode("-", $date);
		$date = $jour.'/'.$mois.'/'.$annee;

Lors de la modification elle apparait en ISO...

Voici ma page (récapitulatif des inters) elle récupere la date d'inters mais appait en format ISO.
<!DOCTYPE html>
<?php 
	session_start(); // Start la session
	if (!isset($_SESSION['login'])) {
		header ('Location: index.php');
		exit();
	}

	require_once('connect.inc.php');

	// POST ENVOYE ==> saisie/modification du client
	if ( isset($_POST['valider']) == "Valider") {
		function getPost($variableName,$defaultValue=''){
			return isset($_POST[$variableName])?$_POST[$variableName]:$defaultValue;
		}

		$id = getPost("id");
		$nom_e = getPost("nom_e");
		$nom_cl = getPost("nom_cl");
		$fonc  = getPost("fonc");
		$civ  = getPost("civ");
		$groupe = getPost("groupe");
		$contrat = getPost("contrat");
		$fixe  = getPost("fixe");
		$mob  = getPost("mob");
		$fax  = getPost("fax");
		$mail  = getPost("mail");
		$web  = getPost("web");
		$adr  = getPost("adr");
		$ville = getPost("ville");
		$cp  = getPost("cp");
		$infos = getPost("infos");
		$infos = addslashes("$infos");


		
		if($id){ // Mise à jour via un UPDATE
			$sql_client = "UPDATE client_tb
						  SET nom_e = '$nom_e'
							   , nom_cl = '$nom_cl'
							   , fonc = '$fonc'
							   , civ = '$civ'
							   , groupe = '$groupe'
							   , contrat = '$contrat'
							   , fixe =  '$fixe'
							   , mob = '$mob'
							   , fax =  '$fax'
							   , mail =  '$mail'
							   , web = '$web'
							   , adr = '$adr'
							   , ville = '$ville'
							   , cp = '$cp'
							   , infos = '$infos'
						  WHERE id='$id' ";
			$requete = mysql_query($sql_client) or die( mysql_error()."<br>REQUETE:<pre>".$sql_client."</pre>");

		} else { // Création nouveau ( INSERT )
			$sql_client = "INSERT  INTO client_tb
						   (nom_e, nom_cl, fonc, civ, groupe, contrat, fixe, mob, fax, mail, web, adr, ville, cp, infos)
					  VALUES ('$nom_e','$nom_cl','$fonc','$civ','$groupe','$contrat','$fixe','$mob','$fax','$mail','$web','$adr','$ville','$cp','$infos')";
			$requete = mysql_query($sql_client) or die( mysql_error()."<br>REQUETE:<pre>".$sql_client."</pre>");
			$id_client = mysql_insert_id();
		}

		if($requete) {
			echo("<br>L'insertion a ete correctement effectuee");
			header('Location: listeclient.php');      
			exit();
		} else {
			echo("<br>L'insertion a echouee");
		}
		
	} else {

		// Recuperation de l'id et autres info si id existe (pas un nouveau client)
		$id = isset($_GET['id'])?$_GET['id']:NULL;

		if ($id) {	// Recuperation des autres info si id existe (pas un nouveau client)

			$requet="SELECT *
					FROM client_tb c
					WHERE id ='$id'";
			$result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet);
			$a_data = mysql_fetch_assoc($result);
		}
		$nom_e = isset($a_data['nom_e'])?$a_data['nom_e']:'';
		$nom_cl = isset($a_data['nom_cl'])?$a_data['nom_cl']:'';
		$fixe = isset($a_data['fixe'])?$a_data['fixe']:'';
		$fonc = isset($a_data['fonc'])?$a_data['fonc']:'';
		$civ = isset($a_data['civ'])?$a_data['civ']:'';
		$groupe = isset($a_data['groupe'])?$a_data['groupe']:'';
		$contrat = isset($a_data['contrat'])?$a_data['contrat']:'';
		$fax = isset($a_data['fax'])?$a_data['fax']:'';
		$mob = isset($a_data['mob'])?$a_data['mob']:'';
		$mail = isset($a_data['mail'])?$a_data['mail']:'';
		$web = isset($a_data['web'])?$a_data['web']:'';
		$adr = isset($a_data['adr'])?$a_data['adr']:'';
		$ville = isset($a_data['ville'])?$a_data['ville']:'';
		$cp = isset($a_data['cp'])?$a_data['cp']:'';
		$infos = isset($a_data['infos'])?$a_data['infos']:'';

		if ($id) {	// Recuperation des autres info si id existe (pas un nouveau client)
			$requet="SELECT i.*
					FROM inter i, client_tb c 
					WHERE c.id = i.id_client
					  AND c.id = '$id'";
			$result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet);
			$a_data = mysql_fetch_assoc($result);
		}
		$date = isset($a_data['date'])?$a_data['date']:'';
		$inter = isset($a_data['inter'])?$a_data['inter']:'';
		$tech = isset($a_data['tech'])?$a_data['tech']:'';
		$comm = isset($a_data['comm'])?$a_data['comm']:'';
		$temps = isset($a_data['temps'])?$a_data['temps']:'';

		if ($id) {	// Recuperation des autres info si id existe (pas un nouveau client)
			/*Contenu du tableau*/
			$requet="SELECT id, date, inter, tech, comm, temps 
						FROM inter
						WHERE id_client='$id' ORDER BY date DESC";
			$resulta=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet);
			$ligne=mysql_fetch_assoc($resulta);
		}
?>

<html>
	<head>
		<meta http-equiv="refresh" content="1200;deconnexion.php" />
		<meta charset="utf-8" />
		<link rel="stylesheet" href="style/style.css" />
		<?php
			include('nav.php');
		?>
	</head> 
	<body>
		<form name="formulaire" action="#" method="POST"> 
			<table id="ren">
				<tr>
					<td>Entreprise</td>
					<td><input type="text" name="nom_e" value="<?php echo $nom_e ;?>" /></td>
					<td>Fixe</td>
					<td><input type="tel" name="fixe" value="<?php echo $fixe ;?>"/></td>
				</tr>
				<tr>
					<td>Contact </td>
					<td><input type="text" name="nom_cl" value="<?php echo $nom_cl ;?>"/></td>
					<td> Mobile</td>
					<td><input type="tel" name="mob" value="<?php echo $mob ;?>"/></td>
				</tr>
				<tr>
					<td>Fonction</td>
					<td><input type="text" name="fonc" value="<?php echo $fonc ;?>"/> </td>
					<td>Fax</td>
					<td><input type="tel" name="fax" value="<?php echo $fax ;?>"/> </td>
				</tr>
				<tr>
					<td>Civilité</td>
					<?php
						$checked_Mme = ($civ =="Mme")? "checked='checked'" : '' ;
						$checked_M = ($civ =="M.")? "checked='checked'" : '' ;
						echo  '<td><input class="radio" name="civ" value="Mme"  '.$checked_Mme.' type="radio"> Madame
						<input class="radio" name="civ" value="M."  '.$checked_M.' type="radio"> Monsieur</td>'
					?>
					<td>Email</td>
					<td><input type="email" name="mail" value="<?php echo $mail ;?>"/></td>
				</tr>
				<tr>
					<td>Groupe</td>
					<?php
						$selected_Association = ($groupe =="Association")? "selected='selected'" : '' ;
						$selected_Liberale = ($groupe =="Liberale")? "selected='selected'" : '' ;
						$selected_Particulier = ($groupe =="Particulier")? "selected='selected'" : '' ;
						$selected_Pro = ($groupe =="Pro")? "selected='selected'" : '' ;
						echo  '<td><select name="groupe"> <option value="Association" '.$selected_Association.'> Association </option>
						<option value="Liberale" '.$selected_Liberale.'> Liberale </option>
						<option value="Particulier"  '.$selected_Particulier.'> Particulier </option>
						<option value="Pro"  '.$selected_Pro.'> Pro</option></select></td>'
					?>
					<td>Web</td>
					<td> <input type="text" name="web" value="<?php echo $web ;?>"/></td>
				</tr>
				<tr>
					<td>Contrat</td>
					<?php
						$checked_Non = ($contrat =="Non")? "checked='checked'" : '' ;
						$checked_Oui = ($contrat =="Oui")? "checked='checked'" : '' ;
						echo  '<td><input class="radio" name="contrat" value="Non"  '.$checked_Non.' type="radio"> Non
						<input class="radio" name="contrat" value="Oui"  '.$checked_Oui.' type="radio"> Oui</td>'
					?>
					<td>Adresse</td>
					<td><input type="text" name="adr" value="<?php echo $adr ;?>"/></td>
				</tr>
				<tr>
					<td>Ville</td>
					<td><input type="text" name="ville" value="<?php echo $ville ;?>"/> </td>
					<td>CP</td>
					<td><input type="text" name="cp" value="<?php echo $cp ;?>"/></td>
				</tr>
			</table>
			<h3>Infos</h3>
			<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
			<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
			<h3><textarea name="infos" rows="5" cols="150" ><?php echo $infos ;?></textarea></h3>
			<input type="hidden" name="id" value="<?php echo isset($id)?$id:""; ?>"/>
			<h6><input type="submit" name="valider" value="Valider"/></h6>
		</form>
  
  <?php
	if($id) { // pour un client existant
  ?>
		<!--<a href="inter.php?idclient=<?php echo $id; ?>">
			<h5><input TYPE="image" src="style/add.png" name="submit" ></h5>
		</a>-->
		
		<h5>
			<a href="inter.php?idclient=<?php echo $id; ?>"> 
			<input type="button" value="Nouvelle intervention"> 
			</a>
		</h5>


		<?php
		if($ligne) { // pour un client existant avec des inter
		?>
		<form name="inter" action="inter.php" method="POST">
			<table id="rec">
				<th>N°</th><th id="date">Date</th><th>Type d'inter</th><th>Tech</th><th>Commentaire</th><th>Temps</th>
				<?php
					do {
						echo "<tr id='lign'>";
						foreach($ligne as $value){
							echo'<td><a href="inter.php?idclient='.$id.'&id='.$ligne['id'].'">'.$value.'</a></td>';
						}
						echo "</tr>";
					} while($ligne=mysql_fetch_assoc($resulta));
				?>
			</table>
			<input type="hidden" name="idclient" value="<?php echo $id; ?>">
	   </form>
		<?php
		}
	}
		?>
	</body>
<?php
 include('footer.php');
		}
?>
</html>


J'ai integré ce code au mien, l'echo m'affiche bien le format FR mais dans mon tableau toujours en ISO.
$idConnexion=@mysql_connect("localhost","root","");

mysql_select_db("intervention",$idConnexion);

$requete="select * from inter;";

$jeuResultat=mysql_query($requete,$idConnexion);

$ligne=mysql_fetch_assoc($jeuResultat);

$dateSQL = $ligne['date'];

//$dateSQL = '2015-06-02';

list($annee, $mois, $jour) = explode("-", $dateSQL);

$dateFR = $jour.'/'.$mois.'/'.$annee;

echo $dateFR.'<br>';