Bernhard Mecl: time-timestamp konvertierung (mysql/php)

Beitrag lesen

also wie wird mittels php beispielsweise AUS
demhier "2002-09-03 21:02:14"
              ||
              /
dashier "1031079671"

Mit PHP beispielsweise so:

function time_mysql2unix($date) {
  list($year,$month,$day,$hour,$minute,$second)=split('[-:\ ]',$date);
  return mktime($hour,$minute,$second,$month,$day,$year);
}

echo time_mysql2unix('2002-09-03 21:02:14'); /* 1031079734 */

... oder auch ein bißchen kompakter:

echo preg_replace('/(\d+)-(\d+)-(\d+)\ (\d+):(\d+):(\d+)/e','mktime($4,$5,$6,$2,$3,$1)','2002-09-03 21:02:14');

Ich würde allerdings tunlichst auf MySQL-Bordmittel zurückgreifen:

$query='SELECT time,UNIX_TIMESTAMP(time) as unixtime '
      .'FROM ... '
      .'WHERE ... '
      .'ORDER BY ...';
$result=mysql_query($query) or die(mysql_errno().': '.mysql_error());

while($row=mysql_fetch_object($result)) {
  echo $row->time,': ',$row->unixtime,"\n";
}