关于phpexcel读取时间字段的格式不正确

 1 /**
 2  * phpexcel 对读出来的5位数时间进行转换
 3  * @param  [type]  $date [description]
 4  * @param  boolean $time [description]
 5  * @return [type]        [description]
 6  */
 7 function excelTime($date, $time = false) {
 8     if(function_exists(‘GregorianToJD‘)){
 9         if (is_numeric( $date )) {
10             $jd = GregorianToJD( 1, 1, 1970 );
11             $gregorian = JDToGregorian( $jd + intval ( $date ) - 25569 );
12             $date = explode( ‘/‘, $gregorian );
13             $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" : ‘‘);
14             return $date_str;
15         }
16     }else{
17         $date=$date>25568?$date+1:25569;
18         /*There was a bug if Converting date before 1-1-1970 (tstamp 0)*/
19         $ofs=(70 * 365 + 17+2) * 86400;
20         $date = date("Y-m-d",($date * 86400) - $ofs).($time ? " 00:00:00" : ‘‘);
21     }
22     return $date;
23 }

原文地址:https://www.cnblogs.com/songkaixin/p/11121946.html

时间: 2024-11-08 11:38:27

关于phpexcel读取时间字段的格式不正确的相关文章

oracle 修改时间字段的格式

在Oracle数据库中,修改表的时间字段,使用to_date()函数 比如以下代码: update USBP_TAKE_OFF_POINTset CREATE_TIME = to_date('2019-6-27 15:49:36','yyyy-mm-dd hh24:mi:ss')where TAKE_OFF_POINT = 4; 原文地址:https://www.cnblogs.com/4AMLJW/p/hjkkcxvtg.html

常用SQL时间格式SQLServer中文版的默认的日期字段datetime格式是yyyy-mm-d

常用SQL时间格式 SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 这对于在要不同数据库间转移数据或者习惯oracle日期格式YYYY-MM-DD HH24:MI:SS的人多少有些不方便. 我整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(),

jsp中用EL读取了数据库里面的时间,怎么设置格式显示的格式

jsp中用EL读取了数据库里面的时间,怎么设置格式显示的格式 首先导入标签 <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <input type="text" value="<fmt:formatDate value="${viewKq.srq}" pattern="yyyy-M-d" /&g

Newtonsoft.Json同时对多个时间字段以不同的格式序列化

在博客园潜水多年,学到很多,也进步了很多,在这里说声谢谢,是时候给园友分享一点自己的东西,希望和大家一起进步. 之前有个需求要对一张表的多个时间字段进行不同的格式序列化, 在网上没找到相对较好的解决方案 就自己花了点时间研究了下,封装了下IsoDateTimeConverter这个类得以实现 不多说直接上源码 1 using Newtonsoft.Json.Converters; 2 using System; 3 using System.Collections.Generic; 4 usin

解决SQL Server 2005数据库中datetime时间字段在前端显示时分秒的问题

SQL Server 2005中时间类型datetime的格式是"年月日时分秒",直接读出来该字段,为了不让它在前端显示"时分秒"若是显示在dataGridView中,可以修改控件的某一列格式,如: dataGridView1.Columns[10].DefaultCellStyle.Format = "yyyy-MM-dd"; 但是要在listview控件中的话,就有点困难了,貌似没有类似的属性,这样的话,考虑从数据源入手. 1.获取当前年月日

MySQL时间字段究竟使用INT还是DateTime的说明

今天解析DEDECMS时发现deder的MYSQL时间字段,都是用 `senddata` int(10) unsigned NOT NULL DEFAULT '0'; 随后又在网上找到这篇文章,看来如果时间字段有参与运算,用int更好,一来检索时不用在字段上转换运算,直接用于时间比较!二来如下所述效率也更高. 归根结底:用int来代替data类型,更高效. 环境: Windows XP PHP Version 5.2.9 MySQL Server 5.1 第一步.创建一个表date_test(非

mysql 时间字段的函数 timestamp

Mysql 里格式 时间字段的函数 DATE_FORMAT unix_timestamp - 墨墨修行的日志 - 网易博客http://jjuanxi.blog.163.com/blog/static/175274197201121011310826/

MySQL时间字段究竟使用INT还是DateTime

今天解析DEDECMS时发现deder的MYSQL时间字段,都是用 `senddata` int(10) unsigned NOT NULL DEFAULT '0'; 随后又在网上找到这篇文章,看来如果时间字段有参与运算,用int更好,一来检索时不用在字段上转换运算,直接用于时间比较!二来如下所述效率也更高. 归根结底:用int来代替data类型,更高效. 环境: Windows XP PHP Version 5.2.9 MySQL Server 5.1 第一步.创建一个表date_test(非

(实用篇)PHPExcel读取Excel文件的实现代码

用PHPExcel读取Excel 2007 或者Excel2003文件,需要的朋友,可以参考下. 涉及知识点:  php对excel文件进行循环读取 php对字符进行ascii编码转化,将字符转为十进制数 php对excel日期格式读取,并进行显示转化 php对汉字乱码进行编码转化 <?php require_once 'PHPExcel.php'; /**对excel里的日期进行格式转化*/ function GetData($val){ $jd = GregorianToJD(1, 1, 1