Java使用Calendar计算时间

@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

你可能感兴趣的:(java,java,calendar)