根据日期去查询当天内创建的对象(代码实现))

有的时候我们会输入一个日期,然后去查询某一实体在改天内创建的对象。大致的思路就是根据输入的日期设置该天的一个范围(startTime,endTime),然后分别去比较对象的创建日期,这样就可以查询出符合条件的对象。

 if(testEntity.getCreateTime()!= null){
     try {
          //先将日期格式的数据转化为字符串日期格式,进行字符串拼接之后再将字符串转换成日期类型数据,便于进行日期比较 
          Date start = DateUtil.fromString(DateUtil.currDayData(testEntity.getCreateTime(),"yyyy-MM-dd")+" 00:00:00","yyyy-MM-dd HH:mm:ss");

          criteria.add(Restrictions.ge(TestEntity.PROP_CREATE_TIME,start));

          Date end = DateUtil.fromString(DateUtil.currDayData(testEntity.getCreateTime(), "yyyy-MM-dd")+" 23:59:59", "yyyy-MM-dd HH:mm:ss");
    
          criteria.add(Restrictions.le(TestEntity.PROP_CREATE_TIME,end));
     } catch (ParseException e) {
          e.printStackTrace();
     }
 }

其中使用了工具类DateUtil中的两个方法:currDayData()方法,fromString()方法。(注:工具类中的方法是自己写的):
1、currDayData()方法:将日期格式的数据转化为字符串格式,主要使用的是JAVA中SimpleDateFormat类的format方法,将日期类型(Date)数据格式化为字符串(String)。

      /**
       * 获取字符串日期格式---将日期类型数据转化成字符串格式可以进 行字符串拼接
       * @param date
       * @param format
       * @return
       */
      public static String currDayData(Date date,String format){
           SimpleDateFormat sdf = new SimpleDateFormat(format);
           //调用SimpleDateFormat类的format方法,返回字符串日期格式          
           return sdf.format(date);
      }

2、fromString()方法:将字符串转换成日期类型数据,主要使用的是JAVA中SimpleDateFormat类的parse方法,将字符串类型(java.lang.String)解析为日期类型(java.util.Date)。

       /**
        * 字符串转换成日期类型数据
        * @param dateStr
        * @param format
        * @return
        * @throws ParseException
        */
       public static Date fromString(String dateStr,String format) throws ParseException{
          SimpleDateFormat sdf = new SimpleDateFormat(format);
          //调用SimpleDateFormat类的parse方法,返回日期类型数据
          return sdf.parse(dateStr);
       }

你可能感兴趣的:(根据日期去查询当天内创建的对象(代码实现)))