虽然mongodb存的时间为UTC时间,与中国相差8小时,但是这并不需要客户端程序做处理。
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date startTime = format.parse("2019-06-17 15:37:08");
Date endTime = format.parse("2019-06-17 15:40:08");
org.springframework.data.mongodb.core.query.Query q = new Query();
q.addCriteria(Criteria.where("createDate").gte(startTime).lte(endTime));
List<TestPo> testPos = mongoTemplate.find(q, TestPo.class);
testPos.forEach(testPo -> {
SimpleDateFormat show = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(show.format(testPo.getCreateDate()));
});
以上代码经过测试,查询时间段时只需要将Date类型的时间格式传入即可,mongo会自动转。
查询出来的结果也是直接转换好的,不需要再处理。