0

我有一个 Node.js 服务器作为我正在为一家公司工作的服务的 API 服务器运行。

它连接的 MySQL 服务器存储事件开始的日期,插入工作完美,您可以从 MySQL Workbench 和命令行工具中看到正确的日期。但是,当我从 Node.js 检索日期列时,输出比我当前所在的时区晚一天,即使它与服务器和 MySQL 服务器的时区相同。

有任何想法吗?


我还编写了一个小脚本,在服务器上运行以获取示例输出:

  • 活动名称:艾丹的生日
  • 开始日期:2013 年 7 月 27 日星期六 19:00:00 GMT-0500 (CDT)
  • 毫秒:1374969600000
  • UTC:2013 年 7 月 28 日星期日 00:00:00 GMT
  • 日期:27
  • ISO 字符串:2013-07-28T00:00:00.000Z
  • 语言环境字符串:2013 年 7 月 27 日星期六 19:00:00 GMT-0500 (CDT)

开始日期晚了一天,UTC 日期正好在(应该是 7 月 28 日,这是 MySQL Workbench 显示的内容,也是最初插入的内容)。

4

1 回答 1

0

除非它是很久以前发布的,否则我遇到了同样的问题。我已经检测到问题:当删除日期时间中的时间部分时,MySQL 自动将小时设置为“00:00:00”。由于 UTC 时间设置不正确,它减去了一个小时,所以在我的情况下是前一天的 23:00:00。再次删除时间部分,这导致前一天。需要在 MySQL 连接中设置时区。

于 2016-01-08T10:30:13.577 回答