NodeJS MySQL a répondu le fuseau horaire est différent quand je l'ai récupérer directement à partir de MySQL
Quand je demande à MySQL directement, je serai de retour date au format UTC (j'ai mis UTC au serveur MySQL), mais avec NodeJS-je obtenir de l'UTC+2, heure locale de la zone de données, pourquoi? Comment puis-je définir NodeJS pour obtenir de l'UTC?
Bien que c'est une vieille question, j'ai eu un problème similaire et l'ajout de la config timezone: 'utc' ne résout pas le problème (il s'aggraver).
La solution que j'ai finalement utilisé, est l'ajout de la config dateStrings : true telle que j'ai cru chaîne date et le module mysql ne le fait pas lui-même la conversion en javascript date.
Puis-je utiliser moment.utc(thedatestring) à l'obtention d'un objet javascript (dans la base de données, j'ai sauvegardé toutes les dates que l'UTC dans les colonnes DATETIME, indépendamment de la configuration de l'hôte). À l'aide de Moment.js.
Vous pouvez également définir la dateStrings propriété de type DATETIME.
dateStrings: la Force des types date (TIMESTAMP, DATETIME, DATE) à être retournés comme des chaînes de caractères plutôt gonflé en JavaScript les objets Date. (Par défaut: false)
J'ai ajouté le fuseau horaire dans index.js lors de l'initialisation de connexion mysql
Cela n'a pas fonctionné pour moi non plus, j'ai peur
OriginalL'auteur János
Bien que c'est une vieille question, j'ai eu un problème similaire et l'ajout de la config
timezone: 'utc'
ne résout pas le problème (il s'aggraver).La solution que j'ai finalement utilisé, est l'ajout de la config
dateStrings : true
telle que j'ai cru chaîne date et le module mysql ne le fait pas lui-même la conversion en javascript date.Puis-je utiliser moment.utc(thedatestring) à l'obtention d'un objet javascript (dans la base de données, j'ai sauvegardé toutes les dates que l'UTC dans les colonnes DATETIME, indépendamment de la configuration de l'hôte). À l'aide de Moment.js.
OriginalL'auteur Azias
Vous pouvez également définir la dateStrings propriété de type DATETIME.
dateStrings: la Force des types date (TIMESTAMP, DATETIME, DATE) à être retournés comme des chaînes de caractères plutôt gonflé en JavaScript les objets Date. (Par défaut: false)
Consulter: https://github.com/mysqljs/mysql#connection-options
OriginalL'auteur Bala
Essayer de réglage du fuseau horaire de la valeur à "UTC+0", qui a fonctionné pour moi.
OriginalL'auteur Aleks Towers
après une chute à ce problème, encore et encore, j'ai trouvé la solution désirée.
Mon
nodeJS
application de l'extraction de données à partir demySQL
db viaSequelize
ORM.Assurez-vous que le fuseau horaire est le même partout.
config.js
:sequelize_config.js
:Espère qu'il va sauver quelqu'un moment de la chute de cette boucle... 🙂
OriginalL'auteur DavidA