提问者:小点点

JavaScript(Node.js)--从MySQL列中检索日期落后一天


我有一个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显示的,也是最初插入的)。


共1个答案

匿名用户

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