java中对日期进行加减操作

这篇博客介绍了如何在Java中使用Calendar类进行日期加减操作,并对比了使用Hutool工具库进行同样操作的方法。通过示例代码展示了如何减去指定天数并进行条件判断,同时演示了Hutool库简化日期处理的便利性。
摘要由CSDN通过智能技术生成

方法一

package cn.cfm.demo.Test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @Description: 对日期进行加减操作
 * @Author: 
 * @Date: 2021/2/20
 */
public class DataShield {

    public static void main(String[] args) throws ParseException {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        //获取系统日期
        Calendar rightNow = Calendar.getInstance();
        //指定某一天,比如2021-02-16
        Date shouldDate = sdf.parse("2021-02-16");
        //系统日期减少或者增加几天
        rightNow.add(Calendar.DATE, -9);
        System.out.println(sdf.format(rightNow.getTime()));

        Calendar rightNow2 = Calendar.getInstance();
        rightNow2.add(Calendar.DATE, -4);
        System.out.println(sdf.format(rightNow2.getTime()));

        System.out.println("=========================");
        System.out.println(sdf.parse(sdf.format(rightNow.getTime())).getTime());
        System.out.println(shouldDate.getTime());
        System.out.println(rightNow2.getTime().getTime());
        //sdf.parse(sdf.format(rightNow.getTime())).getTime()指以系统日期减少几天后,获取它的日期的getTime()而不是当前时间的getTime()
        if(sdf.parse(sdf.format(rightNow.getTime())).getTime() <= shouldDate.getTime()
                && shouldDate.getTime() <= rightNow2.getTime().getTime()) {
            System.out.println("成功");
        }else{
            System.out.println("失败");
        }

    }

}


输出结果

注意红框中的值,这样得到的是获取它的日期的getTime()而不是当前时间的getTime()
在这里插入图片描述

方法二

package cn.cfm.demo.Test;

import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;

import java.util.Date;

/**
 * @Description: 使用工具包hutool
 * @Author: 
 * @Date: 2021/2/22
 */
public class DateUtilTest {

    public static void main(String[] args) {

        //保单下期应缴日
        String dateStr = "2021-01-01";
        Date date = DateUtil.parse(dateStr);

        // 使用工具类获取当前时间的字符串,格式为:yyyy-MM-dd
        String todayDateStr= DateUtil.today();
        System.out.println(todayDateStr);
        System.out.println(DateUtil.parse(todayDateStr));
        Date sysdate1 = DateUtil.parse(todayDateStr);
        //系统日期减59
        DateTime newDate1 = DateUtil.offsetDay(sysdate1, -59);
        //系统日期减51
        DateTime newDate2 = DateUtil.offsetDay(sysdate1, -51);

        System.out.println("-----------");
        System.out.println(newDate1);
        System.out.println(newDate2);
        System.out.println(newDate1.getTime());
        System.out.println(newDate2.getTime());
        System.out.println(date.getTime());
        if(newDate1.getTime() <= Long.valueOf(date.getTime())
        && Long.valueOf(date.getTime()) <= newDate2.getTime()){
            System.out.println("success");

        }



    }

}





输出结果

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值