Java常用类—时间类,jdk8之前

jdk8之前的日期时间API



一.System.currentTimeMillis()

返回当前时间与1970年1月1日的毫秒级时间戳




二.java.util.Date类

1.两个构造器的使用
new Date()//空参,创建一个对应当前时间的Date对象
new Date(long milli...)//创建指定毫秒数的Date对象

2.两个方法的使用
toString():显示当前的年、月、日、时、分、秒
getTime():获取当前Date对象对应的毫秒数(时间戳)

java.sql.Date对应数据库中的日期类型的变量,继承于java.util.Date
表达形式:年-月-日,eg.1997-1-1
实例化:
java.sql.Date date=new java.sql.Date();//使用带包名路径的类名,区别两种不同的Date
java.util.Date和Java.sql.Date相互转化:
注意对象的本质类是Java.sql.Date还是java.util.Date
父类的多态引用和类型向下强转可以理解
如果是本质类型转化,可以使用getTime()方法来获得时间戳并通过构造器初始化



三.SimpleDateFormat的使用——对Date类的格式化和解析

  • 两个操作:
    1.格式化:日期——>字符串
    2.解析:格式化的逆过程,字符串——>日期
  • SimpleDateFormat的实例化
public void test1() throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat();

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

        //解析:格式化的逆过程,字符串--->日期
        String dateString2 = "22-5-7 下午12:04";
        Date date1 = sdf.parse(dateString2);
        System.out.println(date1);

        //******************灵活修改格式**********************
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyy.MMMMM.dd GGG hh:mm aaa");
        //格式化
        System.out.println(sdf2.format(date));
        //解析:要求字符串必须符合格式,否则报错
        Date date2= sdf2.parse(sdf2.format(date));
        System.out.println(date2);
    }


Calendar日历类的使用

//1.实例化
        //方式一:创建其子类(GregorianCalendar)的对象
        //方式二:调用其静态方法getInstance()
        Calendar calendar = Calendar.getInstance();
        //System.out.println(calendar.getClass());

        //常用方法
        //get()
        int days = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(days);
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));

        //set()
        calendar.set(Calendar.DAY_OF_MONTH,22);
        days = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(days);

        //add()
        calendar.add(Calendar.DAY_OF_MONTH,-3);
        days = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(days);

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


        //setTime():Date--->日历类
        Date date1 = new Date();
        calendar.setTime(date1);
        days = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(days);
posted @ 2022-05-05 19:09  JayerListen  阅读(47)  评论(0编辑  收藏  举报