我正在使用 simplexlsx.class.php
读取 xlsx 文件。当文件中包含日期字段时,它会出现问题。
示例输出:
在文件数据中:
Day Date Thursday 2/2/2012 Friday 2/3/2012
程序输出:
Day Date
Thursday 40941
Friday 40942
它没有给出正确的日期。
<?php
if (isset($_FILES['file'])) {
require_once "simplexlsx.class.php";
$xlsx = new SimpleXLSX( $_FILES['file']['tmp_name'] );
echo '<h1>Parsing Result</h1>';
echo '<table border="1" cellpadding="3" style="border-collapse: collapse">';
list($cols,) = $xlsx->dimension();
foreach( $xlsx->rows() as $k => $r) {
if ($k == 0) continue; // skip first row
echo '<tr>';
for( $i = 0; $i < $cols; $i++)
{
echo '<td>'.( (isset($r[$i])) ? $r[$i] : ' ' ).'</td>';
}
echo '</tr>';
}
echo '</table>';
}
?>
<h1>Upload</h1>
<form method="post" enctype="multipart/form-data">
*.XLSX <input type="file" name="file" /> <input type="submit" value="Parse" />
gmdate('Y-m-d H:i:s',$unixDateVal);
来解决这个问题,以获得与Excel匹配的值。 - khartnettdate()
和gmdate()
等函数使用的是 Unix 时间戳。它与本地时间毫无关系,而与它们完全不同类型的值有关,计算不同的时间间隔,并具有完全不同的基准点。 - Mark Baker