java获取30天后时间-时间格式注解-时间格式转换

注解

@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date date;

@JsonFormat:获取数据库时间格式化一下,因为数据库时区与标准时区相差八小时 所以GMT+8 后面即是时间格式如:yyyy-MM-dd
@DateTimeFormat:Date类型想要限定请求传入时间格式时,可以通过@DateTimeFormat来指定,但请求传入参数与指定格式不符时,会返回400错误。
如果在Bean属性中有Date类型字段,想再序列化转为指定格式时,也可用@DateTimeFormat来指定想要的格式

时间格式转换

//将当前时间转换为指定格式的String字符串
new SimpleDateFormat("yyyy-MM-dd").format(new Date());
//将String字符串转换为指定格式的Date,需要捕获异常
new SimpleDateFormat("yyyy-MM-dd").parse("2020-07-21");

获取三十天后时间

方法一

//获取当前系统时间
Calendar cal = Calendar.getInstance();
//将时间增加三十天
        cal.add(Calendar.DATE, 30);
 //获取改变后的时间
       	cal.getTime();

方法二

//java8新特性
LocalDateTime.now().minus(-30, ChronoUnit.DAYS);

方法三

//工具类
DateUtils.addDays(new Date(), 30);

可以利用时间格式转换成想要的格式:
new SimpleDateFormat只能转换Date类型

@Data
public class TimingUtils {
    private String firstDay, lastDay;

    /**
     * 获取某月的第一天,和最后一天
     * @param integer 0为当月 
     * @return
     */
    public static TimingUtils getDistanceDay(Integer integer) {
        TimingUtils timingUtils = new TimingUtils();
        LocalDateTime minus = LocalDateTime.now().minus(integer, ChronoUnit.MONTHS);

        //获取月的第一天
        timingUtils.setFirstDay(minus.with(TemporalAdjusters.firstDayOfMonth()).with(LocalTime.MIN).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
        //获取月的最后一天
        timingUtils.setLastDay(minus.with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
        return timingUtils;
    }
    /**
     * 获取某月的第一天,和最后一天
     * @param integer 0为当月 
     * @return
     */
    public static TimingUtils getDistanceDayTime(Integer integer) {
        TimingUtils timingUtils = new TimingUtils();
        LocalDateTime minus = LocalDateTime.now().minus(integer, ChronoUnit.MONTHS);
        //获取月的第一天
        timingUtils.setFirstDay(minus.with(TemporalAdjusters.firstDayOfMonth()).with(LocalTime.MIN).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        //获取月的最后一天
        timingUtils.setLastDay(minus.with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        return timingUtils;
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值