Je ne comprends pas cette fonction php

Résolu
dragazor Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -  
dragazor Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,
j'ai cette fonction qui fonctionne très bien et qui permet de convertir AAAA-MM-DD en DD/MM/AAAA. Le seul problème c'est que moi je voudrais faire l'inverse c a d passer de DD/MM/AAAA vers AAAA-MM-DD et je ne comprends pas bien la fonction que j'ai donc je ne peux pas la modifier (quand je le fais j'ai plein d'erreurs).
J'aimerais si possible que vous m'aidiez à comprendre la fonction pour que je puisse la modifier.
Je précise que je comprends quand même la ligne explode lol.

function convdate1($date1)
{
$d1 = explode("-", $date1);
$date2 = date("d/m/Y",mktime(0,0,0, $d1[1], $d1[2], $d1[0]));
return $date2;
}
A voir également:

5 réponses

kelsett Messages postés 353 Date d'inscription   Statut Membre Dernière intervention   62
 
Transforme 1999-03-30 en 30/03/1999 :
function convdate1($string)
{
$d1 = explode("-", $string);
$string= date("d/m/Y",mktime(0,0,0, $d1[1], $d1[2], $d1[0]));
return $string;
}


Transforme 30/03/1999 en 1999-03-30 :
function convdate2($string)
{
$d1 = explode("/", $string);
$string = date("Y-m-d",mktime(0,0,0, $d1[1], $d1[0], $d1[2]));
return $string;
}
3
giheller Messages postés 1882 Date d'inscription   Statut Membre Dernière intervention   142
 
c'est mieux.
0
giheller Messages postés 1882 Date d'inscription   Statut Membre Dernière intervention   142
 
bonsoir,

$d1 = explode("-", $date1);

cette fonction permet de créer un tableau $d1 dans lequel chaque élément contiendra les données issues de $date1 après les avoir séparées avec le séparateur - à savoir
ainsi si $adte1 contient 12-10-2009
$d1[0] contendra 12
$d1[1] contendra 10
et $d1[2] contendra 2009


un explode de DD/MM/AAAA avec /
donnera $d[0] = DD
$d[1] = MM
$d[2] = AAAA

$nouvelledate = $d[2]."-".$d[1]."-".$d[0];

0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
C'est juste pour transformer "2009-12-18" en "18/12/2009".
0
dragazor Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   5
 
Je vous remercie pour vos réponses,
le code que m'a donné kelsett fonctionne parfaitement, en revanche je n'y comprends pas trop la logique.
Si je considère les explications de de giheller, mon année sera stockée dans 2 mon mois dans 1 et mon jour dans 0. dans le code on devrait avoir cette ligne:
                  $string = date("Y-m-d",mktime(0,0,0, $d1[2], $d1[1], $d1[0]));

au lieu de
                  $string = date("Y-m-d",mktime(0,0,0, $d1[1], $d1[0], $d1[2]));

comme ma di kelsett. En revanche c'est le code de Kelsett qui fonctionne. Pourquoi?
0
kelsett Messages postés 353 Date d'inscription   Statut Membre Dernière intervention   62
 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dragazor Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   5
 
Oké jte remercie en tt cas. Jv jeter un oeil au lien que tu m'as transmis.
Merci encore.
0