mongodb中进行ISODate类型时间的比较

本文介绍在使用MongoTemplate操作MongoDB时,如何正确处理ISODate类型的字段进行时间比较的方法。为确保时间准确匹配,需对时间戳或Date对象加8小时进行转换,并提供了具体的实现代码。

在使用mongotemplate中的方法进行ISODate类型的时间比较时,需要将时间戳或者Date对象加上8个小时的时间再进行比较。
例:

......
query.addCriteria(Criteria.where("date").gte(TimeUtil.dateToISODate(new Date(beginTime + 8*60*60*1000))).lte(TimeUtil.dateToISODate(new Date(endTime + 8*60*60*1000))));
......

/**
  * 将时间戳转化为mongodb中的ISODate时间类型数据
  * @param dateStr
  * @return
  */
 public static Date dateToISODate(Date dateStr) {
	  Date parse = null;
	  try {
		  // 解析字符串时间
		  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
		  parse = format.parse(format.format(dateStr));
	  } catch (Exception e) {
		  e.printStackTrace();
	  }
	  return parse;
  }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值