Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pourquoi ma date de mysql décrémente-t-elle d'un jour en javascript ?

Le Z signifie "décalage de l'heure zéro" également connu sous le nom de "heure zoulou" (UTC). Lorsque vous interrogez la date à partir de la base de données, il existe deux scénarios possibles de modification de la date, soit dans la couche de base de données, soit dans la couche d'application, en l'ajustant au fuseau horaire dans lequel vous vous trouvez.

Ainsi, par exemple, si le paramètre de base de données enregistre automatiquement l'heure sur UTC lorsque vous obtenez les données réelles, elles seront converties dans votre fuseau horaire actuel. Mais à partir de votre exemple, 2016-12-20 est converti en 2016-12-19T23:00:00.000Z, je suppose que votre paramètre de base de données à la date l'enregistre dans un certain fuseau horaire, puis le convertit en UTC.

Pour résoudre ce problème, essayez d'ajuster la logique de votre application ou les paramètres de la base de données. Pour moi, je préfère le faire au niveau de l'application et conserver la date dans la base de données pour qu'elle soit enregistrée en UTC.

Essayez ceci pour voir la différence et cela pourrait vous donner des conseils pour résoudre votre problème :

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