Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо моята дата от mysql намалява с един ден в javascript?

Z означава "отместване на нула часа", известно също като "зулу време" (UTC). Когато заявявате датата от базата данни, има два възможни сценария датата да се промени или в слоя на базата данни, или в слоя на приложението, като я коригира към часовата зона, в която се намирате.

Така например, ако настройката на базата данни спестява време автоматично до UTC, когато получите действителните данни, тя ще бъде преобразувана във вашата текуща часова зона. Но от вашия пример 2016-12-20 се преобразува в 2016-12-19T23:00:00.000Z, тогава предполагам, че настройката на вашата база данни на дата я записва в определена часова зона, след което я преобразува в UTC.

За да го поправите, опитайте да коригирате логиката на приложението или настройката на базата данни, за мен предпочитам да го правя на ниво приложение и да поддържам датата в DB, ​​за да бъде запазена в UTC.

Опитайте това, за да видите разликата и може да ви подскаже как да разрешите проблема си:

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. ПОРЪЧАЙТЕ ПО състояние

  2. Грешка в SQLAlchemy MySQL сървърът е изчезнал

  3. Кое е най-доброто поле за съхранение на рождения ден?

  4. Как да актуализирам таблица автоматично, когато друга таблица се актуализира на различен mysql сървър?

  5. Python3 + MySql:Грешка при зареждане на модул MySQLdb:Няма модул с име 'MySQLdb'