PHPExcel正确读取excel表格时间单元格

无名花火 2018-04-09 10:03:46
function excelTime($date, $time = false) {
if(function_exists('GregorianToJD')){
if (is_numeric( $date )) {
$jd = GregorianToJD( 1, 1, 1970 );
$gregorian = JDToGregorian( $jd + intval ( $date ) - 25569 );
$date = explode( '/', $gregorian );
$date_str = str_pad( $date [2], 4, '0', STR_PAD_LEFT )
."-". str_pad( $date [0], 2, '0', STR_PAD_LEFT )
."-". str_pad( $date [1], 2, '0', STR_PAD_LEFT )
. ($time ? " 00:00:00" : '');
return $date_str;
}
}else{
$date=$date>25568?$date+1:25569;
/*There was a bug if Converting date before 1-1-1970 (tstamp 0)*/
$ofs=(70 * 365 + 17+2) * 86400;
$date = date("Y-m-d",($date * 86400) - $ofs).($time ? " 00:00:00" : '');
}
return $date;
}
...全文
593 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dhucaichao 2018-04-12
  • 打赏
  • 举报
回复
我也遇到这个问题了,我是把excel表时间那一列右击设置单元格式 ,改为文本格式
伟洪winni 2018-04-10
  • 打赏
  • 举报
回复
查下php手册, 基本可以理解 GregorianToJD : http://php.net/manual/zh/function.gregoriantojd.php JDToGregorian : http://php.net/manual/zh/function.jdtogregorian.php 不懂得函数一个个查
无名花火 2018-04-09
  • 打赏
  • 举报
回复
请详细解释一下这个函数的功能描述及实现思路

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧