[Turn] morphia operates mongodb to query the date range

Use morphia to operate date query:
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);  
 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326315120&siteId=291194637