Dans Excel, les dates sont calculées à partir du 1/1/1900 (valeur 1 pour ce jour). Les heures/minutes/secondes correspondent à des fractions de la journée : 0.5 correspond à midi.
Voici le script permettant de transformer une date excel (lue auparavant avec PHPExcel https://github.com/PHPOffice/PHPExcel) :
$ts = $dataExcel [$i] ["A"];
date_default_timezone_set("UTC");
maDate = date ("d/m/Y H:i:s", round(($ts-25569) * 86400));
Attention à bien positionner le fuseau horaire à UTC : dans le cas contraire, PHP fera la transformation. De même, si les secondes sont significatives, pensez à arrondir le calcul (fonction round
).