[PHP] convertir une date venant de excel

Apparemment, le timestamp d’excel n’est pas basé sur celui d’unix (01/01/1970) mais commence à partir du 01/01/1900, ce qui pose des problèmes quand on utilise la fonction date() de PHP.

Voici une fonction permettant de convertir le timestamp vers un format comme jj-mm-aaaa. Pour les infos concernant la fonction date voir le manuel PHP

function convert_date_excel($date){
	$real_date = ($date-25569)*86400; 
	$real_date = date("d-m-Y", $real_date); 
	return $real_date;
}
  • $date correspond au timestamp d’excel
  • 25569 le nombre de jours entre 1900 et 1970
  • 86400 le nombre de seconde dans une journée