【问题标题】:Receiving full date time in node API instead of receiving date only在节点 API 中接收完整日期时间,而不是仅接收日期
【发布时间】:2020-07-31 18:36:10
【问题描述】:

我试图在 MySQL 中使用 DATE() 从时间戳值中仅获取日期部分,它在 MySQL 中的显示结果正确,但在节点 js 中它显示的是完整时间戳而不是日期。

例子:-

SELECT DATE("2020-04-12T18:30:00.000Z");

在 MySQL 中生成 2020-04-12,但在节点 js 中,同时通过我自己的 API 获取它给了 "2020-04-12T18:30:00.000Z" 这个。

帮我解决这个问题。

【问题讨论】:

  • 我不想使用任何额外的库。

标签: javascript mysql node.js reactjs axios


【解决方案1】:

您可以在查询 SQL 中使用:

SELECT ...,(DATE_FORMAT("2017-06-15", "%Y-%m-%d") as finalDate) FROM ...

现在在您的 API 中,当您使用前面的查询调用 MySQL 时,您应该在 finalDate 中有 2017-06-15。 MySQL 中的 DATE 类型是一个日期对象,所以如果你只想要字符串中的日期,你需要在 MySQL 中使用前面的代码或在你的 API 中使用方法或Date将日期解析为字符串@

【讨论】:

  • 谢谢这个解决方案也对我有用。但问题出在我身上,因为 Node JS 中的 MySQL 包,这也可以通过在 app.js 的数据库配置中添加 dateString=true 来解决,我找到了这个解决方案。
猜你喜欢
  • 1970-01-01
  • 2011-04-10
  • 2015-04-25
  • 1970-01-01
  • 2021-07-24
  • 2013-09-30
  • 1970-01-01
  • 1970-01-01
  • 2018-06-18
相关资源
最近更新 更多