0
点赞
收藏
分享

微信扫一扫

java代码实现一个月内不再提醒,通用到期问题


其实就是最常见的到期问题。 例如帐号到期,会员到期等。
字段可以命名为:
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;
}


举报

相关推荐

0 条评论