[RESOLU] transformer une date

WRInaute passionné
Bonjour,

comment transformer

Tue, 10 Jun 2008 09:43:20 +0200

en

2008-06-10 09:43:20

???

existe t-il une fonction php pour cela ?
 
WRInaute discret
Tout dépend de quoi tu pars !

Si tu veux générer une date à partir de rien, ou si tu veux transformer ta chaine en une date dans un autre format.

Dans le premier cas, cela existe en php, dans le second cas, tu dois scinder ta chaine, extraire les élements qui t'intéresse et les concaténer comme tu le souhaite.
 
WRInaute passionné
comment transformer

Tue, 10 Jun 2008 09:43:20 +0200

en

2008-06-10 09:43:20 ???

je reçois des dates au premier format et j'aimerais l'injecter dans une bd mysql au format datetime
 
WRInaute occasionnel
darksword a dit:
dans le second cas, tu dois scinder ta chaine, extraire les élements qui t'intéresse et les concaténer comme tu le souhaite.

il faut donc que tu changes le jun en 06 en faisant correspondre chaque mois à sa valeur en plus de scinder la chaîne et la remettre dans l'ordre... C'est un peu de boulot mais ce n'est pas impossible!
 
WRInaute passionné
oui j'ai commencé mais il y a un standard pour cela ?
01 jan
02 feb
03 mar
04 apr
05 may
06 jun
07 jul
08 aug
09 sep
10 oct
11 nov
12 dec


c'est exact ??
 
WRInaute accro
Je n'ais pas chercher plus que ça, je te file peut-être une méthode un peu bidouille.

rudddy a dit:
Tue, 10 Jun 2008 09:43:20 +0200

Tu traite cette chaine qui a toujours un format identique (ça doit se faire facilement avec la fonction explode() )
Jourdelasemaine, jourdumois mois année heure:minute:seconde

pour avoir les variables suivantes :
$hour
$minute
$second
$month
$day
$year

Ensuite tu utilise mktime : http://fr.php.net/manual/fr/function.mktime.php pour avoir le timestamp de ta date.

Ensuite, tu formate ce timestamp comme tu veux avec la fonction date() : http://fr.php.net/date

Mais peut-être qu'il y a plus simple.
 
WRInaute passionné
$date_post = explode(' ', $ma_date);
switch($date_post[2]) {
case 'Jan': $mois_post = '01'; break;
case 'Feb': $mois_post = '02'; break;
case 'Mar': $mois_post = '03'; break;
case 'Apr': $mois_post = '04'; break;
case 'May': $mois_post = '05'; break;
case 'Jun': $mois_post = '06'; break;
case 'Jul': $mois_post = '07'; break;
case 'Aug': $mois_post = '08'; break;
case 'Sep': $mois_post = '09'; break;
case 'Oct': $mois_post = '10'; break;
case 'Nov': $mois_post = '11'; break;
case 'Dec': $mois_post = '12'; break;
}
$date_bd = $date_post[3].'-'.$mois_post.'-'.$date_post[1].' '.$date_post[4];

ca marche meme quand le jour est 6 et non 06 mysql el transforme automatiquement
 
Discussions similaires
Haut