Egy fél napom ráment, de nem jöttem rá, hogyan is kell PHP-ban használható (UNIX timestamp) formátumra hozni az Excel dátumait. Azt egész hamar sikerült kideríteni, hogy a tárolt számok egész értékei az 1900. január 1. óta eltelt napok számát tartalmazzák, bár még ezt sem sikerül pontosan implementálni, ugyanis van valami kavar a szökőévekkel. A törtrész pedig az időpontot írja le (0.25 = 6:00, 0.5=12:00, stb). Akár hogy próbáltam visszaalakítani másodpercekre, volt egy-két éves csúszás az eredményben. Aztán véletlenül rábukkantam egy egyszerű, PHP-ban írt függvényre (Ray Hauge neve szerepel mellette; Ezúton is köszönöm neki), ami szoroz, oszt, és a jó időpontot köpi ki:
function ExcelToDate($inVar) {
return date("m/d/Y",(($inVar - 25569)*86400)-7200);
}
OpenOffice is kicsit másként csinálja:
function OOToDate($inVar) {
return date("m/d/Y",(($inVar - 25568)*86400)-7200);
}