我在PHPExcel
上使用Codeigniter
设置日期格式时遇到问题
我已经有了控制器和模型,并认为您可以访问
型号:http://sistempintar.com/file/LingkunganModel.txt
控制器:http://sistempintar.com/file/Lingkungan.txt
查看:http://sistempintar.com/file/form.txt
我在导入数据库之前先进行预览,但是显示错误
“遇到PHP错误严重性:警告
消息:date_create():依靠系统的不安全 时区设置。您需要使用date.timezone设置 或date_default_timezone_set()函数。如果您使用了 这些方法,您仍然会收到此警告,很可能 时区标识符拼写错误。我们为时区选择了时区“ UTC” 现在,但是请设置date.timezone以选择您的时区。
文件名:Shared / Date.php
行号:167
回溯:
文件: /home/u4502442/public_html/sistempintar/demo/proyek/application/third_party/PHPExcel/PHPExcel/Shared/Date.php 行:167功能:date_create
文件: /home/u4502442/public_html/sistempintar/demo/proyek/application/third_party/PHPExcel/PHPExcel/Style/NumberFormat.php 行:454函数:ExcelToPHPObject
文件: /home/u4502442/public_html/sistempintar/demo/proyek/application/third_party/PHPExcel/PHPExcel/Style/NumberFormat.php 行:607函数:_formatAsDate
文件: /home/u4502442/public_html/sistempintar/demo/proyek/application/third_party/PHPExcel/PHPExcel/Worksheet.php 行:2493函数:toFormattedString
文件: /home/u4502442/public_html/sistempintar/demo/proyek/application/third_party/PHPExcel/PHPExcel/Worksheet.php 行:2556函数:rangeToArray
文件: /home/u4502442/public_html/sistempintar/demo/proyek/application/controllers/Lingkungan.php 行:51函数:toArray
文件:/home/u4502442/public_html/sistempintar/demo/proyek/index.php 行:315功能:require_once“
这是我的date.php:http://sistempintar.com/file/date.txt
这是显示错误的图片:
http://sistempintar.com/file/format_database.png
我不知道怎么了,请帮忙
答案 0 :(得分:0)
您需要更新PHP时区设置。在您的php.ini文件中,查找以下行: date.timezone = 并将其设置为您的时区。 您可以在此处找到受支持的时区列表:here
答案 1 :(得分:0)
此问题的解决方案是,我们必须使用格式单元格格式将日期格式从日期转换为数字,以便我们的日期在单元格上显示某种数字数据。
这是因为excel使用简单的数字格式来读取日期,例如1/1/1900 = 1.00和16/1/2012 = 40924.00。因此,每当必须使用excel上传日期时,我们都必须将其转换为数字,然后再上传,并且在对数据库进行插入查询之前,我们使用下面列出的函数将数字格式转换为数据库支持的日期格式。 / p>
function excel_number_to_date($num)
{
$num=$num-25570; //this is because php date function work only for date after 1/1/1970
return addday(‘1970/01/02’,$num);
}
静态编号25570表示日期为1/1/1970。因为当我们在MySQL中上传数据时,它不会读取早于1970年1月1日的日期。为何我必须减去此特定编号。 IT完全取决于数据库的类型,下面列出了addday函数。
function addday($dat,$days) //$date will be in YYYY/mm/dd format
{
$dat=str_replace(“/”,”-“,$dat);
$dat=date(“Y-m-d”,strtotime($dat));
return date(“Y-m-d”,strtotime($days.’ days’,strtotime($dat)));
}
答案 2 :(得分:0)