El date
la función espera una marca de tiempo de UNIX
como su segundo parámetro, lo que significa que debe convertir la fecha que obtiene de la base de datos a una marca de tiempo UNIX, lo que se puede hacer usando strtotime
:
$db = '2010-02-20 13:14:09';
$timestamp = strtotime($db);
echo date("m-d-Y", $timestamp);
Y obtendrás:
02-20-2010
Estabas pasando el '2010-02-20 13:14:09' cadena a la date función; esa cadena no es una marca de tiempo UNIX válida.
'12-31-69 ' es probablemente 1970-01-01 , en su localidad; y 1970-01-01 es la época, la fecha que corresponde a la marca de tiempo 0 UNIX.