【问题标题】:Mysql DATE field selected in format yyyy-MM-ddTHH:mm:ss-HH:mmMysql DATE 字段以 yyyy-MM-ddTHH:mm:ss-HH:mm 格式选择
【发布时间】:2016-09-19 15:53:23
【问题描述】:

我正在使用来自 JqWidgets 的 JqxCharts。

使用 PHP 文件获取 Graph 的 Json 数据。

在 Mysql 查询中,我执行以下操作:

SELECT fecha, Qty
FROM somedatabase

2016-05-01     5
2016-07-21     55
2016-08-16     33

“fecha”字段是简单的 DATE 格式。 但是当它显示在图表中时,我总是得到错误的日期(少 1 天)

Apparently it has to do something with Date Format conversion from javascript.

我需要从 MySql 中获取格式为“yyyy-MM-ddTHH:mm:ss-HH:mm”的日期

如何从我的实际查询中获得这种格式?

更新:已解决。

感谢“tadman”,帮助我理解。我搜了如何选择Mysql ISO 8601,so I found

所以现在我刚刚将查询更新为:

SELECT DATE_FORMAT(fecha, '%Y-%m-%dT%T-06:00'), Qty
FROM somedatabase

顺便说一句,如果有人在寻找这个,“T-06:00”是墨西哥的 UTC。

【问题讨论】:

  • 那只是ISO-8601 format。 MySQL 的内部格式也是一种形式,但省略了T。如果您出于某种原因需要重新格式化日期,请在 PHP 中进行,而不是您的查询。
  • 这不是我想要的,但这有助于我理解它,谢谢

标签: php mysql simpledateformat jqwidget


【解决方案1】:

感谢“tadman”,帮助我理解。我搜索了如何选择Mysql ISO 8601,so I found

所以现在我刚刚将查询更新为:

SELECT DATE_FORMAT(fecha, '%Y-%m-%dT%T-06:00'), Qty
FROM somedatabase

顺便说一句,如果有人在寻找这个,“T-06:00”就是 UTC 墨西哥。

【讨论】:

  • 作为警告,今天是正确的,但在 10 月 30 日,它会从 -05:00 变为 -06:00。您可能想检查任何给定日期的时区偏移量,由于时区在午夜后切换,这使事情变得复杂。
  • 是的,我想知道在这种情况下会发生什么,因为它实际上总是一个 -6 区域,但由于它有夏令时,它会改变,不确定是否像你说的那样改变,如果是这样的话,我需要另一种方法来解决这个问题,在 Mysql 和 javascript 中使用日期
  • 一般来说,日期没有时区,但时间可能。像任何有日期的东西一样,彻底测试它以确保你做对了,并特别注意围绕 DST 翻转和闰年的奇怪情况。
  • 他们没有,实际上该字段应该只是日期(yyyy-mm-dd),而不是时间或区域,但是当在 Json 中获取数据时会发生这种奇怪的事情JqxCharts,我会检查一下这个行为,再加上 oct-30 的时间变化快到了,谢谢
猜你喜欢
  • 1970-01-01
  • 2020-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多