Changer la date format iso

Eléphanteau du PHP | 18 Messages

10 juin 2015, 09:49

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 ?
J'ai testé en ajoutant :
$datetime=new Datetime(getpost("date"));
echo $datetime->format("d-m-Y");
Mais ça affiche toujours 0000-00-00.

Petite précision, quand je rentre une date avec le format iso, celle-ci remonte bien dans ma BDD.

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


Merci d'avance !

Eléphanteau du PHP | 48 Messages

10 juin 2015, 10:49

Code : Tout sélectionner

<?php $str = '2010-04-19'; echo date("d-m-Y",strtotime($str)); ?>
Je ne suis pas sûr si mon code te plaît...
La fonction date() est d'une haute fléxibilité.

http://stackoverflow.com/questions/8908 ... xtimestamp

Par exemple,en modifiant le premier paramètre en U,tu peux retourner
à l'aube de l'informatique...

Eléphanteau du PHP | 18 Messages

10 juin 2015, 11:12

J'ai testé également ce code mais toujours le même résultat, 0000-00-00.

Mammouth du PHP | 688 Messages

10 juin 2015, 11:21

http://php.net/manual/fr/datetime.createfromformat.php
pour pouvoir indiquer le format français, qui est rentré par l'utilisateur

Eléphanteau du PHP | 18 Messages

10 juin 2015, 11:30

Si je comprend bien si je mets ceci :
<?php
$date = date_create_from_format('j-M-Y');
echo date_format($date, 'd-m-Y');
?>
ça doit fonctionner ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

10 juin 2015, 11:33

Un petit coup d'oeil dans la FAQ devrait également t'apporter quelques pistes :)

:arrow: Quelques petites manipulations avec les dates (PHP/MySQL)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 18 Messages

12 juin 2015, 09:48

Merci Ryle pour le lien, j'ai noté plusieurs code à retenir.
J'ai testé avec mon code mais sans grand succès...

J'ai seulement un $date que je renseigne via un input.
Dois-je créer les variables $jour, $mois, $année ? Les ajouter à une nouvelle table ?

Eléphanteau du PHP | 18 Messages

16 juin 2015, 10:21

Help please !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 juin 2015, 13:22

Que veux tu faire exactement ? Si c'est transformer une date au format ISO en format français, tu as un exemple dans la FAQ pour passer une date SQL au format français, avec MySQL et avec PHP ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 18 Messages

16 juin 2015, 14:45

J'ai utilisé la partie PHP de l'exemple de la FAQ, j’arrive seulement à entrer la date dans le format Français mais lors de la redirection vers mon tableau il m'affiche le format ISO.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 juin 2015, 14:59

Quelle redirection ? Quel tableau ?
Pourquoi ne fais tu pas ta conversion du format de date là où il t'affiche le format iso ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 18 Messages

16 juin 2015, 15:28

Une fois que je valide le formulaire contenant la date, une redirection s'effectue vers une autre page qui contient un tableau de toute les interventions.
Donc l'insertion fonctionne avec le format français mais sur la seconde page il me l'affiche en iso.

Si je le met la conversion sur la page qui m'affiche le format iso, j’obtiens 0000-00-00.
Et si je le mets dans les deux pages c'est toujours en iso.

Eléphanteau du PHP | 18 Messages

22 juin 2015, 16:44

Help svp !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 juin 2015, 17:11

Bonjour Dilidim,

Toutes les infos utiles t'ont déjà été donné précédemment.
Si ça ne marche pas, il faut que tu nous dises précisément ce qui ne fonctionne pas, le message d'erreur obtenu et ce que tu as essayé avec un exemple de code.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 18 Messages

22 juin 2015, 18:10

J'ai une fiche client qui contient le récapitulatif des interventions effectués, elle sont datées.
Pour ajouter une intervention, je clic sur un bouton qui m'envoie sur un nouveau formulaire. une fois rempli, il affiche l'intervention dans le tableau de la 1ere page.
Pour inscrire la date dans le format français j'ai du ajouter ça :
list($annee, $mois, $jour) = explode("-", $date);
	$date = $jour.'/'.$mois.'/'.$annee;
sauf que dans mon tableau il m'indique 2015-06-22 alors que j'ai entré 22-06-2015...

J'ai testé ce code
$idConnexion=@mysql_connect("localhost","AdminActi","mccp2112");

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>';
Mais j'obtiens 0000-00-00.