+ -
当前位置:首页 → 问答吧 → 关于phpexcelreader日期导入的问题

关于phpexcelreader日期导入的问题

时间:2010-03-23

来源:互联网

我用的phpexcelreader,如果你在excel输入选择的是日期的话他倒入数据库后会变得多一天,我看了下源代码,发现excel中日期是按照秒存储的,我在本机的apache时间设定的是“中国时区”是不是和编者的时间有冲突?请问如何解决?谢谢

以下是phpexcelreader关于date的类:

{ createDate()

  /**
  * Convert the raw Excel date into a human readable format
  *
  * Dates in Excel are stored as number of seconds from an epoch. On 
  * Windows, the epoch is 30/12/1899 and on Mac it's 01/01/1904
  *
  * @access private
  * @param integer The raw Excel value to convert
  * @return array First element is the converted date, the second element is number a unix timestamp
  */ 
  function createDate($numValue)
  {
  if ($numValue > 1) {
  $utcDays = $numValue - ($this->nineteenFour ? SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS1904 : SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS);
  $utcValue = round(($utcDays+1) * SPREADSHEET_EXCEL_READER_MSINADAY);
  $string = date ($this->curformat, $utcValue);
  $raw = $utcValue;
  } else {
  $raw = $numValue;
  $hours = floor($numValue * 24);
  $mins = floor($numValue * 24 * 60) - $hours * 60;
  $secs = floor($numValue * SPREADSHEET_EXCEL_READER_MSINADAY) - $hours * 60 * 60 - $mins * 60;
  $string = date ($this->curformat, mktime($hours, $mins, $secs));
  }

  return array($string, $raw);
  }

哪位大牛能给我讲解一下帮我改一下万分感谢

作者: leslie198881   发布时间: 2010-03-23

可以在返回的unix时间戳时 转换下 
strtotime (timetamp);

作者: bing19870624   发布时间: 2010-03-23

引用 1 楼 bing19870624 的回复:

可以在返回的unix时间戳时 转换下
strtotime (timetamp);

详细点具体怎么做谢谢。

作者: leslie198881   发布时间: 2010-03-25

我也碰到这个问题了,不知道楼主有没有解决呢 能不能共享下

作者: microphonecarl   发布时间: 2011-03-23

热门下载

更多