如何根据HQL中的时间戳范围从数据库中获取数据

How to fetch data from DB according to time stamp range in HQL

我有一个 HQL 查询,可以在给定用户时间从数据库中获取数据 stamp.the 查询工作正常,但无法获取我期望的准确数据。

例如:我通过了 02/16/2015、02/23/2015,我的 jsp 页面的值作为开始日期,结束 date.i 将这些值传递给 HQL.but 我的代码在 01/16/2015 和 02/23/2015.reduce 之间给我结果 1 month.so 我想知道如何实现我的 expected.below 是我的 code.Thank你.

 public static List<TestResult> getTestResulDataSet(String sDate,String eDate)  { 
    final Map<String,List<TestResult> > dataSet = new HashedMap();

    DateFormat df = new SimpleDateFormat("mm/dd/yyyy");
     Date date1=null, date2=null;
    String Rsdate=sDate;
    String Redate=eDate;        
        try {
            date1 = (Date) df.parse(Rsdate);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            date2 = (Date) df.parse(Redate);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    final Date date3=date1; 
    final Date date4=date2; 

    Transactions.exec(new Procedure() {
        @Override
        public void execute() throws Throwable {
            List<TestResult> rs = new ArrayList();

            rs = Transactions.getSession().createCriteria(TestResult.class).add(Restrictions.ge("timestamp",date3)).add(Restrictions.le("timestamp",date4)).list();

            dataSet.put("TestResult", rs);

        }
    });

正确的日期格式是MM/dd/yyyy

正确:DateFormat df = new SimpleDateFormat("MM/dd/yyyy");

mm 代表分钟,而 MM 代表月份。 官方格式说明:

Letter  Date or Time Component  Presentation    Examples
G   Era designator  Text    AD
y   Year    Year    1996; 96
Y   Week year   Year    2009; 09
M   Month in year   Month   July; Jul; 07
w   Week in year    Number  27
W   Week in month   Number  2
D   Day in year Number  189
d   Day in month    Number  10
F   Day of week in month    Number  2
E   Day name in week    Text    Tuesday; Tue
u   Day number of week (1 = Monday, ..., 7 = Sunday)    Number  1
a   Am/pm marker    Text    PM
H   Hour in day (0-23)  Number  0
k   Hour in day (1-24)  Number  24
K   Hour in am/pm (0-11)    Number  0
h   Hour in am/pm (1-12)    Number  12
m   Minute in hour  Number  30
s   Second in minute    Number  55
S   Millisecond Number  978
z   Time zone   General time zone   Pacific Standard Time; PST; GMT-08:00
Z   Time zone   RFC 822 time zone   -0800
X   Time zone