php日期1970年之前

时间:2013-05-30 14:08:13

标签: php mysql datetime

我正在使用PHP 5.3并且已经阅读了很多关于这个问题的材料,但仍然无法解决问题。

我想使用php将生日01/10/1945从excel导入mysql 无论我试过什么都没有给我结果(我得到一个负数)

这是我尝试的最后一个解决方案:

$ data是excel文件(我正在使用excel reader类)

$date_of_birth = ($data->sheets[0]['cells'][$i][11] - 25569) * 86400;

结果是-2207692800

我在做什么呢?

2 个答案:

答案 0 :(得分:4)

在Unix时代之前的日期在PHP中被表示为否定,所以你没有做错任何事 当您在时间戳上使用任何date time函数时,您将获得正确的值。

答案 1 :(得分:1)

为什么要将MSExcel日期转换为(不兼容的)unix时间戳以便将数据放入MySQL?走直接路线:

$qry="INSERT INTO birthdays (person, birthday)
  VALUES ('$person', 18991231000000 + INTERVAL "
  . $data->sheets[0]['cells'][$i][11] . " DAY)";

(存储在MSExcel中的整数值是自1899年12月31日以来的天数)