其实就是最常见的到期问题。 例如帐号到期,会员到期等。
字段可以命名为:
expire_date 或 valid_date
场景
所在的家电公司要做个不再提醒功能。
其实就是有效期问题,开工。
过程
数据库设计
字段:
id
user_account 用户帐号
create_date 创建时间
update_date 更新时间
expire_date 过期时间
时间类型用设置么?例如一个月,一年。
其实不用,这个参数前端传即可,在逻辑里面转换为expire_date即可。
设置过期时间
推荐使用java8 date,非常好用,如下为一个月后为过期时间代码:
LocalDateTime date = LocalDateTime.now(); // java8 当前时间
LocalDateTime oneMonthLater = date.plusMonths(1); // 一个月之后的时间
Date expireDate = Date.from(oneMonthLater.atZone(ZoneId.systemDefault()).toInstant()); // LocalDateTime 转换为 Date
判断逻辑
date是自带compareTo方法,只需now和expire比较即可:
Date expireDate = getExpireDate();
if(null==expireDate){ // 没有设置禁用期 那么不禁用
return false;
}
int i = new Date().compareTo(expireDate);
if(i>0){ // 已经过了禁用期,不再禁用,disableTip=false
return false;
}else{ // 还未过期,继续禁用 disableTip=true
return true;
}