【问题标题】:How to get records on the basis of date in grails如何在grails中根据日期获取记录
【发布时间】:2014-12-06 10:14:51
【问题描述】:

我面临一些与日期相关的小问题。实际上我正在使用 grails 2.3.7 并尝试根据日期范围查找记录。假设我想获取日期为 26-11-2014 的所有记录。

所以我最终使用了这种方法。

  String fromDate="2014-12-03";
  String toDate="2014-12-04";

  SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd")

  Date d1 = df1.parse(fromDate);
  Date d2 = df1.parse(toDate);

  Order?.executeQuery("select orderDate from Order where orderDate between ? and ? ",[d1,d2]);

结果是

  [2014-12-03 10:27:23.0, 2014-12-03 10:30:53.0, 2014-12-03 10:32:30.0]

实际上是 03-12-2014 的 4 条记录,但我们只得到了 3 条。

同样的事情适用于 2014-11-27 到 2014-11-28

结果是

  [2014-11-27 10:52:56.0, 2014-11-27 13:42:16.0, 2014-11-27 14:44:05.0, 2014-11-27 15:47:36.0,     
  2014-11-27 15:51:36.0, 2014-11-27 16:10:17.0, 2014-11-27 18:01:08.0, 2014-11-27 18:07:47.0,   
  2014-11-27 18:30:54.0, 2014-11-27 18:34:06.0, 2014-11-27 18:40:35.0]

实际上 27-11-2014 的 13 条记录,但我们只有 11 条。

请帮帮我。

我卡在这里了。

【问题讨论】:

  • 你检查时间了吗?
  • 你能描述一下什么是时间
  • 当你给 between 子句检查整个日期格式时。就像你提供2014-12-04but 它提供了这样的东西或其他东西2014-12-04 12:00:00:000
  • 是的,我也检查过 SimpleDateFormat("yyyy-MM-dd HH:MM:SS")
  • 和 fromDate 和 toDate 值从数据表复制

标签: java hibernate grails


【解决方案1】:

问题在于日期的时间部分。

您可以执行以下操作来检索 orderDate = 2014-12-03 的所有行:

String fromDate="2014-12-03 00:00:00"
String toDate="2014-12-03 23:59:59"
SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
Date d1 = df1.parse(fromDate)
Date d2 = df1.parse(toDate)
Order?.executeQuery("select orderDate from Order where orderDate between ? and ? ",[d1,d2]);

您还可以使用 Date.clearTime() 删除日期的时间。

【讨论】:

  • 感谢克里斯N的帮助。我遵循的方法相同。它工作正常。
  • 我需要问一件事关于exportService。我要导出订单日期列,但它写入文件 MM:ss 而不是带有时间戳的完整日期。你能帮帮我吗?
  • 当您说导出时,是否意味着您正在使用插件来编写 CSV 或其他类型的文件?如果有,插件是什么?你能分享一段呈现输出的代码,以便我可以帮助你解决这个问题
  • 我知道这已经一年多了,但您还记得为什么在您的示例中将一个空安全运算符 (?) 放在 Order 域上吗?
【解决方案2】:

有一点错误。就像我做的那样 yyyy-MM-dd HH:MM:SS 虽然应该是 yyyy-MM-dd HH:mm:ss

【讨论】:

  • POHH 你说正确的时间戳应该是 00:00:00 到 24-00:00
猜你喜欢
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-10
  • 2014-06-13
  • 2019-07-19
相关资源
最近更新 更多