说明:
获取多少天之后的时间就是获得起始时间多少天后的一个时间。
Controller
@ApiOperation(value = "更新或者添加广告", notes = "更具id更新广告以及广告添加")
@PostMapping(value = "insertOrUpdateAdvert")
public Result insertOrUpdateAdvert(@RequestBody AdvertInfo advertInfo) throws ParseException {
AdvertInfo advertInfo1 = new AdvertInfo();
if (StringUtils.isNotBlank(advertInfo.getId())) {
advertInfo1.setId(advertInfo.getId());
advertInfo1.setName(advertInfo.getName());
advertInfo1.setNumber(advertInfo.getNumber());
advertInfo1.setImgUrlPath(advertInfo.getImgUrlPath());
advertInfo1.setImgSourcePath(advertInfo.getImgSourcePath());
advertInfo1.setUpdateTime(new Date());
advertServiceImpl.update(advertInfo1, new QueryWrapper<AdvertInfo>().eq("id", advertInfo1.getId()));
return Result.success(200, "更新成功");
} else {
advertInfo1.setId(UUID.randomUUID().toString().replace("-", ""));
advertInfo1.setName(advertInfo.getName());
advertInfo1.setNumber(advertInfo.getNumber());
advertInfo1.setImgUrlPath(advertInfo.getImgUrlPath());
advertInfo1.setImgSourcePath(advertInfo.getImgSourcePath());
advertInfo1.setCreateTime(new Date());
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
advertInfo1.setAdvertStartTime(format.format(new Date()));
advertInfo1.setAdvertEndTime(DateUtil.transDate //
(advertInfo1.getAdvertStartTime(), advertInfo.getDay()));
// 相差时间
long start = format.parse(advertInfo1.getAdvertStartTime()).getTime();
long end = format.parse(advertInfo1.getAdvertEndTime()).getTime();
long time = Math.abs(end - start);
advertInfo1.setAdvertEffective(Integer.parseInt(String.valueOf(time / 1000 / 60 / 60 / 24)));
advertInfo1.setPersonalId(advertInfo.getPersonalId());
advertServiceImpl.save(advertInfo1);
return Result.success(200, "成功");
}
}
工具类
package com.andis.app.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 时间工具类
*
* @author Fetter
* @version v1.0
* @date 2021/10/20 10:51
*/
public class DateUtil {
//日期加上天数,后的日期
//dayl增加的天数,date传入的日期
/**
* 获取多少天之后的时间(天) 时间格式‘2021-10-20’
* @param sourceDate
* @param day
* @return
* @throws ParseException
*/
public static String transDate(String sourceDate, int day) throws ParseException {
long dayPlus = (int) day;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date currDate = format.parse(sourceDate);
long time = currDate.getTime(); // 得到指定日期的毫秒数D
dayPlus = dayPlus * 24 * 60 * 60 * 1000; // 要加上的天数转换成毫秒数
time += dayPlus; // 相加得到新的毫秒数
Date date1 = new Date(time);// 将毫秒数转换成日期
String targetDate = format.format(date1);
return targetDate;
}
}