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

Tại sao ngày của tôi từ mysql lại giảm một ngày trong javascript?

Z có nghĩa là "0 giờ bù giờ" còn được gọi là "giờ Zulu" (UTC). Khi bạn đang truy vấn ngày từ cơ sở dữ liệu, có hai trường hợp có thể xảy ra là ngày thay đổi, trong lớp cơ sở dữ liệu hoặc trên lớp ứng dụng, điều chỉnh nó theo múi giờ bạn đang ở.

Vì vậy, ví dụ:nếu cài đặt cơ sở dữ liệu lưu thời gian tự động thành UTC khi bạn nhận được dữ liệu thực tế, nó sẽ được chuyển đổi sang múi giờ hiện tại của bạn. Nhưng từ ví dụ của bạn 2016-12-20 được chuyển đổi thành 2016-12-19T23:00:00.000Z thì tôi giả sử rằng cài đặt cơ sở dữ liệu của bạn vào ngày đang lưu nó trong một múi giờ nhất định, sau đó chuyển đổi nó thành UTC.

Để khắc phục, hãy thử điều chỉnh logic ứng dụng hoặc cài đặt cơ sở dữ liệu của bạn, đối với tôi, tôi thích làm điều đó ở cấp ứng dụng và duy trì ngày trong DB để được lưu vào UTC.

Hãy thử cách này để thấy sự khác biệt và có thể cung cấp cho bạn gợi ý về cách giải quyết vấn đề của mình:

var currentDate = new Date();
var isoDate = currentDate.toISOString();
console.log(currentDate, isoDate);



  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 thế nào tôi có thể kiểm tra ngày gửi là giữa hai ngày trong cơ sở dữ liệu?

  2. Chơi! Khung 1.2.4 --- Cài đặt C3P0 để tránh lỗi liên kết Truyền thông do thời gian nhàn rỗi

  3. MySQL:Cập nhật mà không thay đổi dữ liệu, có thể không?

  4. Chạy truy vấn SQL khi khởi động dịch vụ MySQL

  5. Symfony và Doctrine thực hiện việc di chuyển mà không có hiệu lực