Maison  >  Article  >  base de données  >  Pourquoi NodeJS renvoie-t-il les dates MySQL en UTC 2 alors que la récupération directe de MySQL renvoie UTC ?

Pourquoi NodeJS renvoie-t-il les dates MySQL en UTC 2 alors que la récupération directe de MySQL renvoie UTC ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-25 05:33:29309parcourir

Why Does NodeJS Return MySQL Dates in UTC 2 While Direct MySQL Fetch Returns UTC?

NodeJS renvoie un fuseau horaire MySQL différent de la récupération directe de MySQL

Question :

Lors de la création d'un requête directe à MySQL, vous recevez les dates en UTC, qui est le fuseau horaire configuré sur le serveur. Cependant, lors de la récupération de données via NodeJS, vous rencontrez systématiquement un décalage de fuseau horaire UTC 2. Pourquoi cela se produit-il et comment pouvez-vous résoudre ce problème pour obtenir les dates UTC ?

Réponse :

L'écart dans la gestion des fuseaux horaires provient d'une configuration manquante dans votre environnement NodeJS. . Plus précisément, vous devez définir le fuseau horaire sur « utc » lors de l'initialisation de la connexion MySQL.

Pour résoudre ce problème, ajoutez la ligne suivante à votre code NodeJS où vous établissez la connexion MySQL :

db_config.timezone = 'utc';

Par exemple, si votre code est défini dans un fichier nommé index.js, vous auriez la configuration suivante :

<code class="javascript">var db_config = {
  host: 'localhost',
  user: 'xxx',
  password: '',
  database: 'xxx',
  timezone: 'utc'
};</code>

Une fois cette configuration en place, NodeJS interprétera et affichera correctement les dates dans UTC, s'alignant sur les valeurs que vous obtenez lors de la récupération des données directement depuis le serveur MySQL. Cela garantit la cohérence et la précision dans la gestion des champs datetime dans différents environnements.

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