Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Używanie strtotime dla dat sprzed 1970

Z dokumentacji dla strtotime() :

strtotime() ma limit zakresu od piątku, 13 grudnia 1901, 20:45:54 GMT do wt, 19 stycznia 2038 03:14:07 GMT; chociaż przed PHP 5.1.0 zakres ten był ograniczony od 01-01-1970 do 19-01-2038 w niektórych systemach operacyjnych (Windows).

Jakiej wersji PHP używasz? A na jakiej platformie? Być może nadszedł czas na aktualizację.

Jeśli pracujesz z datami spoza zakresu od 13 grudnia 1901 do 19 stycznia 2038, rozważ użycie obiektów DateTime PHP, które mogą pracować ze znacznie szerszym zakresem dat.

Procedury:

$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");

OOP:

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

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego nie powinienem używać funkcji mysql_* w PHP?

  2. Korzystanie z wyzwalaczy MySQL

  3. MySQL przyznaje wszystkie uprawnienia do bazy danych z wyjątkiem jednej tabeli

  4. wydajny pod względem pamięci wbudowany iterator/generator SqlAlchemy?

  5. Jak zmienić ZESTAW ZNAKÓW (i UKŁADANIE) w całej bazie danych?