2014-12-06 56 views
1

enter image description here如何獲得記錄日期的基礎上,我面臨着與date.Actually一些小問題的Grails

我使用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] 

其實4個記錄的2014年3月12日,但我們只得到了3

同樣的事情適用於情節中字到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] 

其實13條記錄的27-11-2014,但我們只得到了11

請幫助我。

我被困在這裏。

+0

您是否檢查計時? – 2014-12-06 10:33:15

+0

你可以請描述什麼時間是 – 2014-12-06 10:35:29

+0

當你給整個日期格式的子句檢查之間。就像你正在提供'2014-12-04''但它是什麼給這樣或其他什麼'2014-12-04 12:00:00:000' – 2014-12-06 10:43:05

回答

0

很少有mistake.As我做YYYY-MM-DD HH:MM:SS 而應該是YYYY-MM-DD HH:MM:SS

+0

POHH你說正確的時間戳應該是00:00:00至24-00:00 – 2014-12-07 04:14:05

1

問題是與的時間部分日期。

你可以做以下與orderDate存儲= 2014年12月3日檢索所有行:

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()刪除的日期時間。

+0

感謝您的幫助ChrisN 。我遵循的是同樣的方法。它工作正常。 – 2014-12-08 04:52:52

+0

我需要問一個關於exportService的問題。我將導出訂單日期列,但它將以文件MM:ss進行寫入,而不是使用時間戳完成日期。你可以幫我嗎。 – 2014-12-08 04:55:25

+0

當你說出口,這是否意味着你正在使用一個插件來寫入CSV或其他類型的文件?如果是這樣的插件?您可以共享的代碼段呈現的輸出,所以我可以幫你這個問題 – ChrisN 2014-12-09 23:47:18

相關問題