输入一个起始日期,循环输出日期的前一天和后一天

输入一个起始日期,循环输出日期的前一天或后一天 ,截止到今日
可直接运行

/**
 * @author liql
 * @date 2020/10/23
 */
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


/*
 * 日期转换  实现 加或减 一天, 到当前日期停止 
 * */
public class Test2 {

    public static void main(String[] args) {
        String str = "2020-10-13 10:08:04"; //以这个日期为起始,今天为结束
        new Test2().test(str);

    }

    /**
     *
     * @param str  循环输出日期的起始时间( 过去的时间)
     */
    public  void  test(String str)  {
        Date nowDate = new Date();//获取系统当前日期, 目的是在后续代码中 ,输出到今天后,停止程序

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//日期格式化
        Date date = null; //起始时间 date格式
        try {
            date = sdf.parse(str);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        Calendar rightNow = Calendar.getInstance();
        rightNow.setTime(date);
        while(true){ //一 传进来的时间为起点 ,准备开始循环输出日志
            rightNow.add(Calendar.DAY_OF_YEAR, 1);// 日期加1天  如果是减一天,则填 -1 ,执行完该句,日期已经被增加了一天
            date=rightNow.getTime();//获取已经增加一天时间后的日期  ,为了循环,所以用date来接收这个新的日期
          
           /*  
            增加其它单位日期
            rightNow.add(Calendar.YEAR, -1);// 日期减1年
            System.out.println(sdf.format(rightNow.getTime()));

            rightNow.add(Calendar.MONTH, 3);// 日期加3个月
            System.out.println(sdf.format(rightNow.getTime()));

            rightNow.add(Calendar.DAY_OF_YEAR, 10);// 日期加10天
            System.out.println(sdf.format(rightNow.getTime()));

            rightNow.add(Calendar.SECOND, 1000);// 日期加1000秒
            System.out.println(sdf.format(rightNow.getTime()));
            */
          
          
            if (date.compareTo(nowDate)==1){//判断日期是否与今天相等
                break;
            }else {// 日期未到今天 ,输出这个日期,并准备进入下个循环
                String formatStr2 = sdf.format(date);
                System.out.println("增加一天后 的日期字符串:"+formatStr2);
            }
            
        }
        
    }

}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值