Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP &MySQL:Chuyển đổi TIMESTAMP đã lưu trữ thành múi giờ cục bộ của người dùng

Giá trị ngày / giờ / ngày giờ được lưu trữ trong MySQL khi bạn cung cấp chúng. I E. nếu bạn INSERT chuỗi 2012-04-17 12:03:23 vào DATETIME , đó là giá trị sẽ được lưu trữ. Nó sẽ được chuyển đổi nội bộ thành một dấu thời gian có thể chính xác hoặc không chính xác (xem bên dưới), nhưng khi bạn truy vấn lại giá trị, bạn sẽ nhận lại được cùng một giá trị; khứ hồi là minh bạch.

Sự cố có thể xảy ra nếu bạn cố gắng thực hiện các phép tính thời gian bên trong SQL. I E. bất kỳ hoạt động nào yêu cầu SQL phải tính đến múi giờ và / hoặc thời gian của máy chủ. Ví dụ:sử dụng NOW() . Đối với bất kỳ hoạt động nào trong số đó, múi giờ và / hoặc thời gian máy chủ nên được đặt chính xác. Xem Sự cố về múi giờ .

Nếu điều đó không liên quan đến bạn và bạn chỉ cần thực hiện các phép tính bằng PHP, bạn chỉ cần đảm bảo rằng bạn biết bạn muốn chuyển đổi từ múi giờ nào sang múi giờ nào. Vì mục đích đó, nó có thể thuận tiện để chuẩn hóa mọi lúc thành UTC, nhưng không cần thiết, vì chuyển đổi múi giờ từ bất kỳ múi giờ nào sang bất kỳ múi giờ nào khác cũng hoạt động, miễn là bạn rõ ràng về múi giờ bạn đang chuyển đổi từ và sang.

date_default_timezone_set('Asia/Tokyo'); // your reference timezone here

$date = date('Y-m-d H:i:s');

/* INSERT $date INTO database */;

$date = /* SELECT date FROM database */;

$usersTimezone = new DateTimeZone('America/Vancouver');
$l10nDate = new DateTime($date);
$l10nDate->setTimeZone($usersTimezone);
echo $l10nDate->format('Y-m-d H:i:s');


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để đảm bảo an toàn cho kết nối cơ sở dữ liệu của tôi?

  2. MySql:MyISAM so với Inno DB!

  3. Số lượng cột không khớp với số lượng giá trị ở hàng 1

  4. Làm thế nào để bạn buộc mysql LIKE phải phân biệt chữ hoa chữ thường?

  5. python MySQLDB truy vấn hết thời gian chờ