首页 >数据库 >mysql教程 >为什么 NodeJS 返回 UTC 2 格式的 MySQL 日期,而直接 MySQL 获取返回 UTC 格式?

为什么 NodeJS 返回 UTC 2 格式的 MySQL 日期,而直接 MySQL 获取返回 UTC 格式?

Patricia Arquette
Patricia Arquette原创
2024-10-25 05:33:29407浏览

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

NodeJS 返回与直接 MySQL 获取不同的 MySQL 时区

问题:

当制作直接请求 MySQL,您会收到 UTC 格式的日期,这是服务器上配置的时区。但是,当通过 NodeJS 获取数据时,您始终会遇到 UTC 2 时区偏移。为什么会发生这种情况以及如何纠正此问题以获取 UTC 日期?

答案:

时区处理的差异源于 NodeJS 环境中缺少配置。具体来说,您需要在初始化 MySQL 连接时将时区设置为“utc”。

要解决此问题,请将以下行添加到建立 MySQL 连接的 NodeJS 代码中:

db_config.timezone = 'utc';

例如,如果您的代码定义在名为 index.js 的文件中,则您将具有以下配置:

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

一旦此配置到位,NodeJS 将正确解释并显示日期UTC,与直接从 MySQL 服务器获取数据时获得的值一致。这确保了在不同环境中处理日期时间字段的一致性和准确性。

以上是为什么 NodeJS 返回 UTC 2 格式的 MySQL 日期,而直接 MySQL 获取返回 UTC 格式?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn