Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Usando strtotime para datas anteriores a 1970


Da documentação para strtotime() :

strtotime() tem um limite de intervalo entre sexta, 13 de dezembro de 1901 20:45:54 GMT e terça, 19 de janeiro de 2038 03:14:07 GMT; embora antes do PHP 5.1.0 esse intervalo fosse limitado de 01-01-1970 a 19-01-2038 em alguns sistemas operacionais (Windows).

Qual versão do PHP você está executando? E em que plataforma? Talvez seja hora de um upgrade.

Se você estiver trabalhando com datas fora do intervalo de 13 de dezembro de 1901 a 19 de janeiro de 2038, considere usar os objetos DateTime do PHP que podem funcionar com um intervalo muito maior de datas.

Procedimentos:
$date = date_create($row['value']);
if (!$date) {
    $e = date_get_last_errors();
    foreach ($e['errors'] as $error) {
        echo "$error\n";
    }
    exit(1);
}

echo date_format($date, "F j, Y");

POO:
try {
    $date = new DateTime($row['value']);
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format("F j, Y");