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中文网其他相关文章!