【转】morphia操作mongodb对日期范围查询

采用morphia操作日期查询:
public List<KlineEntity> queryByRecordTime(String marketCode,String stockCode,String startDate, String endDate) throws Exception {
        Query query = datastore.createQuery(KlineEntity.class);
        query.field("marketCode").equal(marketCode);
        query.field("stockCode").equal(stockCode);
        if (!StringUtils.isEmpty(startDate)) {
            Date beginDate = DateUtils.parseDate(startDate,pattern);
            query.filter("recordTime >=",beginDate);
//            query.field("recordTime").greaterThanOrEq(startDate);
}
        if (!StringUtils.isEmpty(endDate)) {
            Date enDate = DateUtils.parseDate(endDate,pattern);
            query.filter("recordTime <=",enDate);
//            query.field("recordTime").lessThanOrEq(endDate);
}
        query.order("-recordTime");
        List<KlineEntity> list = query.asList();
        return list;
    }

org.apache.commons.lang.time.DateUtils.paraseDate(String sDate,String[] parasePatterns);

 

  1. String[] pattern = new String[]{"yyyy-MM","yyyyMM","yyyy/MM",   
  2.                 "yyyyMMdd","yyyy-MM-dd","yyyy/MM/dd",   
  3.                 "yyyyMMddHHmmss",   
  4.                             "yyyy-MM-dd HH:mm:ss",   
  5.                             "yyyy/MM/dd HH:mm:ss"};   
  6. DateUtils.parseDate(date, pattern);  
 

猜你喜欢

转载自bigdragon.iteye.com/blog/2365319
今日推荐