java中的日期计算

    public void test() {
        Calendar calendar =Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss E");
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd E");
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd E HH:mm:ss");
        SimpleDateFormat sdf3 = new SimpleDateFormat("E");
        SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy/MM/dd");
        SimpleDateFormat sdf5 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        try {
            // 传入任意日期参数
            calendar.setTime(sdf5.parse("2022/12/18 20:08:33"));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        String format = sdf.format(calendar.getTime());
        String format1 = sdf1.format(calendar.getTime());
        String format2 = sdf2.format(calendar.getTime());
        String format3 = sdf3.format(calendar.getTime());

        // 获取当前日期年份的任意日期
        // 1: 当年第一天 ; 2:当年第二天; 0:去年最后一天; -1:去年倒数第二天;
        Calendar calendar1 =Calendar.getInstance();
        calendar1.set(Calendar.DAY_OF_YEAR,1);

        Calendar calendar2 =Calendar.getInstance();
        //获取任意年份 +1:明年年份; 和set(Calendar.DAY_OF_YEAR,0)搭配可获得当年最后一天
        calendar2.add(Calendar.YEAR,+1);
        calendar2.set(Calendar.DAY_OF_YEAR,0);

        Calendar calendar3 =Calendar.getInstance();
        //获取任意月份 +1:下个月;依次类推
        calendar3.add(Calendar.MONTH,+1);

        Calendar calendar4 =Calendar.getInstance();
        //获取日期 +0:今天;依次类推
        calendar4.add(Calendar.DATE,+0);

        System.out.println("当年第一天:"+sdf4.format(calendar1.getTime()));
        System.out.println("当年最后一天:"+sdf4.format(calendar2.getTime()));
        System.out.println("当天:"+sdf5.format(calendar4.getTime()));
        System.out.println("一个月后:"+sdf4.format(calendar3.getTime()));
        // calendar4.getTime()获取当前日期;
        // calendar4.getTime().getTime() 获取当前日期的毫秒数;
        // 1000: 1秒;60*1000:一分钟;60*60*1000:一个小时;3*60*60*1000:三个小时;
        System.out.println("一个小时后:"+sdf5.format(calendar4.getTime().getTime()+60*60*1000));

        System.out.println(format+"\n"+format1+"\n"+format2+"\n"+format3);
        }

输出结果:
当年第一天:2022/01/01
当年最后一天:2022/12/31
当天:2022/12/17 17:41:28
一个月后:2023/01/17
一个小时后:2022/12/17 18:41:28
2022/12/18 20:08:33 週日
2022/12/18 週日
2022/12/18 週日 20:08:33
週日

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值