java给指定日期加上天数

添加会员时,需要给会员选择套餐(套餐有3/7/30/90/365天), 把选择的套餐天数存在day_remaining这个字段中(叫剩余天数有点不恰当,应该叫选择套餐天数),那么过期时间就是创建时间加上套餐天数。

给会员续费时,需要给会员选择套餐(套餐有3/7/30/90/365天), 仍然把选择的套餐天数存在day_remaining这个字段,中那么续费日期就是添加续费操作的时间,过期时间需要在原来的过期时间基础上再加上选择套餐的天数。

/*
 *添加会员
*/
@Override
public BaseRes<String> addEntityInfo(CustomerVo customerVo) {
    Date date = new Date();    //创建会员时间
    customerVo.setCreateTime(date);    
    customerVo.setUpdateDate(date);

    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); // 日期格式

    Date newDate = addDate(date, customerVo.getDayRemaining());    //从前端传来的数据中获取选择的套餐天数,调用增加天数的方法
    System.out.println("创建时间"+dateFormat.format(date));    
    System.out.println("续费后过期时间"+dateFormat.format(newDate));

    customerVo.setExpireTime(newDate);    //设置新的过期时间

    customerMapper.insertSelective(customerVo);
    return new BaseRes<>(ServiceCode.SUCCESS);
}
/*
 *给会员续费
*/
@Override
public BaseRes<String> modifyXuFeiInfo(CustomerVo customerVo) throws ParseException {
    customerVo.setRenewalTime(new Date());
    customerVo.setUpdateDate(new Date());
    customerVo.setDayRemaining(customerVo.getDayRemaining());

    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); // 日期格式
    Date date = customerVo.getExpireTime(); // 获取初始过期时间

    Date newDate = addDate(date, customerVo.getDayRemaining());
    System.out.println("初始过期时间"+dateFormat.format(date));
    System.out.println("续费后过期时间"+dateFormat.format(newDate));

    customerVo.setExpireTime(newDate);
    customerMapper.updateByPrimaryKeySelective(customerVo);
    return new BaseRes<>(ServiceCode.SUCCESS);
}

private Date addDate(Date date,  long day) {
    long time = date.getTime(); // 得到指定日期的毫秒数
    day = day * 24 * 60 * 60 * 1000; // 要加上的天数转换成毫秒数
    time += day; // 相加得到新的毫秒数
    return new Date(time); // 将毫秒数转换成日期
}

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值