Play framework框架中ExpressionList如何处理时间类型字段的筛选

话不多少,直接上代码

通过将活动的起止时间与当前时间比较,从而判断出活动的状态

默认为all,before表示尚未开始,now表示正在进行中,after表示已经结束

try{
			ExpressionList<LmChannel> expresslist = Ebean.find(LmChannel.class).where();
			Date date = new Date();//当前系统时间
			if("all".equals(activityStatus)){
				Logger.info("查询的活动状态为: " + "all");
			
			} else if("before".equals(activityStatus)){//尚未开始的活动,开始时间大于今天
				Logger.info("查询的活动状态为: " + "before");
				expresslist.gt("start_time", date);
		
			} else if("now".equals(activityStatus)){//正在进行的活动
				Logger.info("查询的活动状态为: " + "now");
				expresslist.lt("start_time", date);//开始时间小于当前时间
				expresslist.gt("end_time", date);//结束时间大于当前时间
				
			} else if("after".equals(activityStatus)){//已经结束的活动
				Logger.info("查询的活动状态为: " + "after");
				expresslist.lt("end_time", date);//结束时间小于当前时间
				
			}
			return expresslist;
		} catch(Exception e){
			Logger.info("查询活动列表失败");
			return null;
		}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值