我对PHP、MySQL (和Zend Framework)还是比较陌生的。我需要将日期转换为MM/DD/YYYY格式的字符串,以便与另一个系统接口。
我有这个函数,我已经指出它是这个特定脚本的主要性能杀手。当结果集相当小(40或50行)时,运行速度很快,不到一秒。但是当有更多的记录时,比如4000条,这个功能大约需要4分钟。不太好。
对于这种情况,提高性能的最佳策略是什么?
public function convertDatesToExcelFormat() {
$sql = "Select fil_id,
BIRTH_DATE,
WILL_DATE,
LAST_CODICIL_DATE,
TRUST_DATE,
POA_DATE
FROM adds";
$result = $this->getAdapter()->fetchAll($sql);
foreach ($result as $rowset => $row) {
foreach ($row as &$val) {
if (strpos($val, ':')) {
$val = preg_replace('/[0-9]+:[0-9]+:[0-9]+/', '' , $val);
$val = preg_replace('/-/', '/', $val);
$val = substr($val, -6, 5) . '/' . substr($val, 0, 4);
}
}
$data = array(
'BIRTH_DATE' => $row['BIRTH_DATE'],
'WILL_DATE' => $row['WILL_DATE'],
'LAST_CODICIL_DATE' => $row['LAST_CODICIL_DATE'],
'TRUST_DATE' => $row['TRUST_DATE'],
'POA_DATE' => $row['POA_DATE'],
);
$where = $this->getAdapter()->quoteInto('fil_id = ?', $row['fil_id']);
$this->update($data, $where);
}
return $this;
}发布于 2011-09-03 05:10:37
php有一个非常有用的函数,叫做date_format,它的形式是
$newDateVar = date_format('d-M-Y', $inputDateVar);上面的字符串'd-M-Y‘可以转换为各种格式。可以在php站点上查看一下,该站点提供了可用的http://php.net/manual/en/function.date-format.php格式的完整分类。
https://stackoverflow.com/questions/7282561
复制相似问题