最近项目,需要判断,服务日期是否到期。
刚开始通过Mybatis获取数据,然后使用Java判断
public String getAfterServiceStatus(String serviceEndDate) throws ParseException {
if (serviceEndDate == null || serviceEndDate.trim().equals("") || serviceEndDate.trim().equals("null"))
return true;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date serviceDate = sdf.parse(serviceEndDate);
if(serviceDate.after(new Date())){
return "未过期";
}
return "已过期";
}
然后发现一条Sql就可以解决的事,通过MyBatis sql查询时,就可以操作。
select serviceEnd,NOW(), (TO_DAYS(serviceEnd) - TO_DAYS(NOW())) as 剩余天数 from bu_servicebill;
通过调用TO_DAYS函数将日期转换成天数然后相减
如图就是返回的结果。正数就是未过期,负数就是已过期。