Java使用Calendar计算时间

  • Post author:
  • Post category:java


@Test
    public void test4(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
        /*
         * 获取15天后是多少号?
         *
         * add(int field,int n)
         * 为当前calendar指定时间分量上累加给定值
         * 若传入的是负数,则是累减
         */
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_YEAR, 15);  //给当前时间加15天
        //System.out.println(calendar.getTime());
        System.out.println(sdf.format(calendar.getTime()));
 
 
        /*
         * 三个月零十天后的那周的星期三是几号?
         */
        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.MONTH, 3); //给当前时间加3个月
        cal.add(Calendar.DAY_OF_YEAR, 10);  //给当前时间加10天
        //得出三个月十天后的日期,然后将日期设为当周星期三
        cal.set(Calendar.DAY_OF_WEEK, 4); //1是周天,所以4是周三
        //System.out.println(cal.getTime());
        System.out.println(sdf.format(cal.getTime()));
 
 
        /*
         * 获取某个时间分量所允许的最大值
         * 获取今年最大天数
         */
        Calendar cal1 = Calendar.getInstance();
        int days = cal1.getActualMaximum(Calendar.DAY_OF_YEAR);
        System.out.println("今年最大天数为:"+days+"天");
 
        /*
         * 一周的第一天是星期日
         * 获取当前是星期几
         */
        Calendar cal2 = Calendar.getInstance();
        int w = cal2.get(Calendar.DAY_OF_WEEK);
        System.out.println("今天是星期:"+(w==1?7:w-1));
    }

结果:

/*

  • 获取15天后是多少号?


    /

    2019-10-29 14:25:59

    /
  • 三个月零十天后的那周的星期三是几号?


    /

    2020-01-22 14:25:59

    /
  • 获取今年最大天数


    /

    今年最大天数为:365天

    /
  • 获取当前是星期几

    */

    今天是星期:1



版权声明:本文为weixin_45755062原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。