Conversion de date PHP
Voici deux methodes de conversion de date à partir d'une date au format RFC 2822 ( Fri, 21 Apr 2006 13:58:06 +0200 (CEST) ) à l'aide de php:
Update du 29.06.2006 : Ainsi que dans l'autre sense, date au format YYYY-MM-JJ à RFC 2822 (Date to RFC2822 php)
RFC 2822 a Timestamp (Rfc2822 To Timestamp)
$date="Fri, 21 Apr 2006 13:58:06 +0200 (CEST)";
function Rfc2822ToTimestamp($date){
$aMonth = array(
"Jan"=>"1", "Feb"=>"2", "Mar"=>"3", "Apr"=>"4", "May"=>"5",
"Jun"=>"6", "Jul"=>"7", "Aug"=>"8", "Sep"=>"9", "Oct"=>"10",
"Nov"=>"11", "Dec"=>"12");
list( , $day, $month, $year, $time) = explode(" ", $date);
list($hour, $min, $sec) = explode(":", $time);
$month = $aMonth[$month];
return mktime($hour, $min, $sec, $month, $day, $year);
}
$date=Rfc2822ToTimestamp($date);
ou :
echo "Rfc2822ToTimestamp($date)";
RFC 2822 a DateTime (Rfc2822 To DateTime)
$date=str_replace(" "," ",$date);
$date=split(" ",$date);
//on place le tout tout beau dans une zoli variable : (chaque partie de la date RFC en dans un tableau)
$date="$date[1] $date[2] $date[3] $date[4]";
echo"<br> nouvelle date : $date <br>";
Biensure, on peut faire une jolie fonction pour tout ceci, mais franchement pas le temps la :-)
Amélioration possible :
Les mois en francais
$moisen = array("Jan","Fev","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
$moisfr = array("Jan","Fév","Mar","Avr","Mai","Juin","Juil","Aout","Sep","Oct","Nov","Déc");
$date=str_replace($moisen, $moisfr, $date);
Les mois en chiffres
$moisen = array("Jan","Fev","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
$moischif = array("01","02","03","04","05","06","07","08","09","10","11","12");
$date=str_replace($moisen, $moischifr, $date);
Date au format Mysql
$datesql="$datel[3]-$date[2]-$date[1] $date[4]";
$moisen = array("Jan","Fev","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
$moischifr = array("01","02","03","04","05","06","07","08","09","10","11","12");
$datesql=str_replace($moisen, $moischifr, $datesql);
Dès que j'ai functionalisé ceci je met à jour :)
Update du 29.06.2006 : Date to RFC2822 :
$VDateInsertion ="2006-06-29";
$VDateInsertion = date("r",mktime(00, 00, 00, substr($VDateInsertion, 5,2), substr($VDateInsertion, -2), substr($VDateInsertion, 0, 4)));
Echo"$VDateInsertion";
$ladate="2007-12-12 09:45:00";
list($date, $hours) = split(' ', $ladate);
list($year,$month,$day) = split('-',$date);
list($hour,$min,$sec) = split(':',$hours);
$dateR = date(r,mktime($hour, $min, $sec, $month, $day, $year));
echo"$dateR";
Publié le 16 Mai 2006 par luca | Ecouter l'article
Publié dans :
Programmation
Accueil
Précédent
Suivant