最近在做php excel导出的时候,不知道为什么,日期栏全都是41395,经过查证,原来是日期是一种凯撒日计数,具体什么是凯撒日计数,我也不是很清楚,你可以谷歌或者百度一下。要把我们运用的从1970年开始的日期运用函数GregorianToJD(),转换为凯撒日计数。哎。。看下面代码吧。
function exceltimtetophp($days,$time=false)
{
if(is_numeric($days))
{
$jd = GregorianToJD(1, 1, 1970);
$gregorian = JDToGregorian($jd+intval($days)-25569);
$gregorian = strtotime($gregorian);
$gregorian = date("Y年m月d日",$gregorian);
// $myDate = explode('\\',$gregorian);
// $myDateStr = str_pad($myDate[2],4,'0', STR_PAD_LEFT)."-".str_pad($myDate[0],2,'0',STR_PAD_LEFT)."-".str_pad($myDate[1],2,'0', STR_PAD_LEFT).($time?"00:00:00":'\\');
return $gregorian;
}
return $time;
}