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

Wyjaśnienie stref czasowych PHP/MySQL

Myślę, że tego właśnie szukasz;

$dt_obj = new DateTime($row['date']); 
$dt_obj->setTimezone(new DateTimeZone('America/Los_Angeles')); 
echo $dt_obj->format('Y-m-d H:i:s');

Użyj Listy obsługiwanych stref czasowych .

Aktualizacja do edytowanego pytania:Aby upewnić się, że PHP widzi czas z bazy danych jako czas UTC, zrób coś takiego:

$row['time'] = '2009-11-08 09:06:40';

$dt_obj = new DateTime($row['time'], new DateTimeZone('UTC')); 
echo 'UTC: ' . $dt_obj->format('Y-m-d H:i:s') . '<br />';  // UTC: 2009-11-08 09:06:40
$dt_obj->setTimezone(new DateTimeZone('America/Los_Angeles')); 
echo 'Los Angeles: ' . $dt_obj->format('Y-m-d H:i:s');  // Los Angeles: 2009-11-08 01:06:40


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Długość nazwy tabeli lub nazwy kolumny wpływa na wydajność?

  2. MYSQL 8-godzinny problem z przekroczeniem limitu czasu

  3. Czy można utworzyć kolumnę z domyślną wartością UNIX_TIMESTAMP w MySQL?

  4. przydziel plik tylko do jednej bazy danych

  5. Czy można wstawić nowy wiersz na górze tabeli MySQL?