1

当我尝试将 Excel 文件读取到 PHP 时出现问题。我现在使用的是 PHPExcel 1.7.7 版本。

这是 excel 2007 文件中的一个示例(A 列是名称,B 列是日期)

吉姆 2010 年 9 月 17 日
戈登 1979 年 6 月 4 日
1987 年 3 月 24 日法案
史蒂夫 1991 年 5 月 24 日
罗宾 1964 年 8 月 8 日

我使用此代码读取姓名和生日:

include 'PHPExcel/IOFactory.php';
$inputFileName = 'example.xls';

echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory to identify the format
';
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);

$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

foreach ($sheetData as $row) {
echo $row['A'];
echo date_format(date_create_from_format('m-d-y', $row['B']), 'Y-m-d');
}

最后它会打印出这样的东西

吉姆 2010-09-17
戈登 1979-06-04
法案 1987-03-24
史蒂夫 1991-05-24
罗宾 2064-08-08

我如何改变最后一部分,所以年份是 1964 年?

4

2 回答 2

1

从未使用过该功能,但通过检查 php.net 上的文档,我认为您可以更改此行:

echo date_format(date_create_from_format('m-d-y', $row['B']), 'Y-m-d');

至:

echo date_format(date_create_from_format('m-d-Y', $row['B']), 'Y-m-d');

参考: http ://www.php.net/manual/en/datetime.createfromformat.php

于 2012-11-20T19:22:36.003 回答
0

尝试这个:

echo date_format(date_create_from_format('m-d-y', $row['B']), 'Y');
于 2012-11-20T19:21:53.177 回答