Sql语句计算时间差

根据到期时间,显示剩余多少天到期,或者是显示已经过期多少天

查询条件条件为:
通过当前时间————当前时间加90天的区间,到期的条件
WHERE tn.expiry_time BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 3 MONTH)

通过当前时间 减去90天的信息
WHERE DATE_SUB(CURDATE(), INTERVAL 90 DAY) <= DATE(expiry_time)

当前时间大于等于到期时间
CURDATE() >= DATE(tn.expiry_time) xml里面的 >= 是 &gt;=

当前时间小于等于到期时间
CURDATE() <= DATE(tn.expiry_time) xml里面的 <= 是 &lt;=

**

获取过期时间差,并转换格式

**

/**
  * 获取过期时间差,并转换格式
  * @param list
  * @return
  */
 public List<String> sortL(List<TUserQualification> list){
  List<Long> list1 = new ArrayList<Long>(); 
  for (TUserQualification i : list) {
   list1.add(i.getExpiry_time().getTime()-(new Date()).getTime());
  }
  List<String> list2 = new ArrayList<String>(); 
  for (Long n : list1) {
   int day=(int) (n/86400000);long exDay=n%86400000;//天
   //int hour=(int) (exDay/3600000);long exHour=n%3600000;//小时
   //int m=(int) (exHour/60000);long exM=n%60000;//分
   //int s=(int) (exM/1000);//秒
   if(day<0){
    
    list2.add((day+"天").substring(1));//去掉前面的负号
   }else{
    list2.add((day+"天"));
   }
  }
  
  return list2;
 }

将得到的时间差在控制层方法里面进行遍历并设置进去

List<String> list2=sortL(listQualification);//括号里面是调用方法获取的集合
  for(int i=0;i<list2.size();i++){
   listQualification.get(i).setCertificate_no(list2.get(i));//将剩余时间设置进去
  }
  model.addAttribute("list", listQualification);
  model.addAttribute("list2", list2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值