Calendar类和SimpleDateFormat类的使用

SimpleDateFormat类

SimpleDateFormat 是一个各种项目中使用频度都很高的类,主要用于时间解析与格式化,频繁使用的主要方法有parse和format。
parse(): 字符串–>日期
format(): 日期–>字符串

@Test
    public void testSimpleDateFormat() throws ParseException {
     
        //实例化SimpleDateFormat,使用默认的构造器
        SimpleDateFormat sdf = new SimpleDateFormat();

        //格式化字符串  日期-->字符串
        Date date = new Date();
        System.out.println(date);

        String format = sdf.format(date);
        System.out.println(format);

        //解析:字符串-->日期
        String str = "20-7-27 下午8:30";
        Date date1 = sdf.parse(str);
        System.out.println(date1);

        //按照指定的方式格式化和解析:使用带有参数的构造器
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        String format1 = sdf1.format(date);
        System.out.println(format1);

        String str1 = "2020-07-27 08:44:37";
        Date date2 = sdf1.parse(str1);
        System.out.println(date2);
    }

运行结果如下:

Mon Jul 27 21:59:49 CST 2020
20-7-27 下午9:59
Mon Jul 27 20:30:00 CST 2020
2020-07-27 09:59:49
Mon Jul 27 08:44:37 CST 2020

Calendar类

常用方法:get()、set()、add()、getTime()、setTime()

@Test
    public void CalendarTest(){
     
        // 1、实例化
          //方式一:创建其子类(GregorainCalendar)的对象
          //方式二:调用其静态方法getInstance()
          Calendar instance = Calendar.getInstance();
       // 2、常用方法
          //获取 get()
          int day1 = instance.get(Calendar.DAY_OF_MONTH); //当月的第几天
          int day2 = instance.get(Calendar.DAY_OF_YEAR);//当年的第几天
          System.out.println(day1);
          System.out.println(day2);

          //更改 set()
          instance.set(Calendar.DAY_OF_MONTH,20); //将日期改为当月的第20天
          int day3 = instance.get(Calendar.DAY_OF_MONTH);
          System.out.println(day3);

          //更改 add()
          instance.add(Calendar.DAY_OF_MONTH,3); //将当前日期加3天
//          instance.add(Calendar.DAY_OF_MONTH,-3);    //将当前日期减3天
          int day4 = instance.get(Calendar.DAY_OF_MONTH);
          System.out.println(day4);

          //日历类-->Date  getTime()
          Date date = instance.getTime();
          System.out.println(date);

          //Date --> 日历类  setTime()
          Date date1 = new Date();
          instance.setTime(date1);
          int day5 = instance.get(Calendar.DAY_OF_MONTH);
          System.out.println(day5);
      }

运行结果如下:

27
209
20
23
Thu Jul 23 22:03:35 CST 2020
27

思考:某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是在“打鱼”,还是在“晒网”?
答案见下一篇博客。

你可能感兴趣的:(Java学习日志,java)