日期计算之LocalDate类,好用到飞起

有时候,我们需要日期的计算,比如在当前日期的基础上移动X天是什么时候,或者在指定的某一天的基础上移动X天是什么时候,等等。。

public static void main(String[] args) {
        DateDemo.nowDateMove(3);
        DateDemo.unKnownDateMove(2016,12,12,13);
    }

    public static void nowDateMove(int num) {
        //获取当前日期
        LocalDate ld = LocalDate.now();
        //要移动的天数num,可以是整数或者负数但是后退推荐使用minusDays
        LocalDate ll = ld.plusDays(num);
        System.out.println("今天是: " + ld + "------再过" + num + "天是:" + ll);
    }

    public static void unKnownDateMove(int year, int month, int day, int num) {
        //指定日期
        LocalDate ld = LocalDate.of(year, month, day);
        //要移动的天数num,可以是整数或者负数但是后退推荐使用minusDays
        LocalDate ll = ld.plusDays(num);
        System.out.println("指定日期是: " + ld + "------再过" + num + "天是:" + ll);

        //后退推荐使用minusDays
        LocalDate lm = ld.minusDays(num);
        System.out.println("指定日期是: " + ld + "------往前" + num + "天是:" + lm);
    }

输出结果

今天是: 2018-12-22------再过3天是:2018-12-25
指定日期是: 2016-12-12------再过13天是:2016-12-25
指定日期是: 2016-12-12------往前13天是:2016-11-29

之前我也碰到过类似的问题,但是的解决方案是,感觉还是LocalDate简单

1、在当前基础上后退
public class DateMoveUtil {

    /**
     * 日期计算  在当前日期的基础上,推后num天
     * @param num
     * @return
     */
    public String dateFun(int num) {
        Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Calendar calendar = Calendar.getInstance();
        //推后一定天数
        calendar.add(Calendar.DATE,num);
        //返回一个Date对象,表示此Calendar的时间值
        date = calendar.getTime();
        String dateTime = format.format(date);
        return dateTime;
    }
}

2、在某一日期之后后退
 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            Date date = format.parse(“2018-10-10”);
            Date date1 = new Date(date.getTime() + 7 * 24 * 60 * 60 * 1000L);
            String time = format.format(date1);

仅供参考,如果大家有好的方法,虚心请教。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值