java 获取日期 日期加减 日期类型转换

获取N天前的日期

1.第一种
   获取一天前现在的时间

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.Date;
	LocalDateTime time = LocalDateTime.now();
	int num = 1;
	time = time.minus(num, ChronoUnit.DAYS);
	System.out.println(time);
	Date date = Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
	System.out.println(date);

2.第二种
   获取一天前现在的时间

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
	Calendar calendar = Calendar.getInstance();
	calendar.setTime(new Date());
	int num = -1;
	calendar.add(Calendar.DATE, num);
	SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	String format = sj.format(calendar.getTime());
	System.out.println(format); //String 类型
	Date date = new Date();
	try {
	    date = sj.parse(format);
	    System.out.println(date); //Date类型
	} catch (ParseException e) {
	    e.printStackTrace();
	}

获取上月日期

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
	LocalDate date = LocalDate.now();
	date = date.minusMonths(1);
	DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM");
	String format = formatters.format(date);
	System.out.println(format);

日期加减 日期类型转换

/**
     * 日期加减
     *
     * @return
     */
    private Date daysUtils(Date date, int num) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);//设置起时间
        //calendar.add(Calendar.YEAR, 1);//增加一年
        //calendar.add(Calendar.MONTH, n);//增加一个月
        calendar.add(Calendar.DATE, num);//当前时间加减天
        date = calendar.getTime();
        //System.out.println("输出::"+calendar.getTime());//Date类型

        /*//日期转换
        SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
        String format = sj.format(calendar.getTime());
        //System.out.println(format); //String 类型
        try {
            date = sj.parse(format);
            //System.out.println(date); //Date类型
        } catch (ParseException e) {
            logger.info("日期转换异常");
        }*/
        return date;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值