Maison  >  Article  >  base de données  >  Voici quelques titres basés sur des questions qui correspondent au contenu de votre article : * **Pourquoi NodeJS affiche-t-il les données MySQL dans un fuseau horaire différent de celui de la base de données ?** * **Comment aligner les timez NodeJS et MySQL

Voici quelques titres basés sur des questions qui correspondent au contenu de votre article : * **Pourquoi NodeJS affiche-t-il les données MySQL dans un fuseau horaire différent de celui de la base de données ?** * **Comment aligner les timez NodeJS et MySQL

Susan Sarandon
Susan Sarandonoriginal
2024-10-25 02:03:30757parcourir

Here are a few question-based titles that fit the content of your article:

* **Why does NodeJS display MySQL data in a different timezone than the database?** 
* **How to align NodeJS and MySQL timezone settings for consistent timestamp handling?**
* **T

Différence de fuseau horaire NodeJS MySQL

Lors de la récupération de données directement à partir d'une base de données MySQL, la date renvoyée est affichée en UTC, en supposant que le serveur MySQL est réglé sur UTC. Cependant, lors de l'intégration de MySQL à NodeJS, les données sont récupérées dans le fuseau horaire local, UTC 2 dans ce cas. Comprendre cet écart est crucial pour maintenir la synchronisation entre la gestion du temps de la base de données et de l'application.

La raison sous-jacente de cette différence réside dans les mécanismes de gestion des fuseaux horaires de MySQL et NodeJS. MySQL utilise par défaut le fuseau horaire du système pour les opérations de date et d'horodatage. En revanche, NodeJS utilise les paramètres de fuseau horaire du système d'exploitation, à moins qu'ils ne soient explicitement remplacés. Cette distinction entraîne un écart lors de l'interrogation de MySQL avec NodeJS.

Pour remédier à ce problème et aligner NodeJS sur le fuseau horaire UTC de MySQL, la configuration de la connexion dans NodeJS doit être ajustée. Plus précisément, la propriété « timezone » doit être spécifiée. Ce paramètre garantit que NodeJS conserve le même fuseau horaire que MySQL, quels que soient les paramètres du système d'exploitation.

Dans l'extrait de code fourni, la propriété "timezone" a été ajoutée à la configuration de la connexion MySQL :

var db_config = {
  host: 'localhost',
  user: 'xxx',
  password: '',
  database: 'xxx',
  timezone: 'utc'  //<- This line resolves the issue
};

En incorporant cette propriété, NodeJS est désormais configuré pour récupérer les données en UTC, correspondant au comportement de MySQL. Cet ajustement élimine l'écart de fuseau horaire, garantissant une gestion cohérente des horodatages entre la base de données et l'application NodeJS.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn