日期的加减计算

     //第一次写的时候,简单的以为就是数字的加减,后来运行中出现20171100这种日期,直接报错,反应过来。必须要用日期计算
        //接收前台参数,日期类型为String,格式为yyyyMMdd;
        String date=String.valueOf(Integer.parseInt("20171011"));
        StringBuffer ss=new StringBuffer();
        ss.append(date.substring(0, 4));
        ss.append("-");
        ss.append(date.substring(4, 6));
        ss.append("-");
        ss.append(date.substring(6,8));
        String beginDate=ss.toString();//日期格式变为yyyy-MM-dd


        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        //ParsePosition 是Format及其子类所使用的简单类,用来分析过程中跟踪当前位置.
        ParsePosition pos = new ParsePosition(0);// 从第一个字符开始解析
        //对参数strDate(String类型) 从第一个字符开始解析(由pos),转换成java.util.Date类型,
        //而这个Date的格式为"yyyy-MM-dd";
        Date startDate = formatter.parse(beginDate, pos);

        //目标日期(yyyyMMdd) 得到前一天的日期
        String targetDay=(formatter.format(new Date(startDate.getTime() - (long)1* 24 * 60 * 60 * 1000))).replace("-", "");
        System.out.println(targetDay);// 这里打印结果为20171010
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值