Java的Date类、Calendar类、SimpleDateFormat类

三者的关系

在这里插入图片描述
Date类已经过时,被Calendar类取代。
SimpleDateFormat类负责时间格式的字符串和Date类之间的转换。

Date

		//实例化date对象
        Date date = new Date();

        /*
        1、时间转字符串
        输出:Wed Dec 09 09:46:59 CST 2020
         */
        System.out.println(date.toString());

        /*
        2、输出Date对象
        输出:Wed Dec 09 09:46:59 CST 2020
         */
        System.out.println(date);

        /*
        3、获取当前时间的1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点
        输出:1607478419488
         */
        System.out.println(date.getTime());

        /*
        4、设置时间,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点。
        输出:Wed Dec 09 09:46:59 CST 2020
         */
        date.setTime(1607478419488L);


        //实例化date1对象
        Date date1 = new Date();
        date1.setTime(1607478419487L);

        /*
        5、测试此日期是否在指定日期之后
        输出:true
         */
        System.out.println(date.after(date1));

        /*
        6、测试此日期是否在指定日期之前
        输出:false
         */
        System.out.println(date.before(date1));
        
        /*
        7、比较两个日期的顺序。(比较两个日期是否相等)
        输出:false
         */
        System.out.println(date.equals(date1));

Calendar

public static void main(String[] args) {
    
    

        /*
        calendar对象有年、月、日、时、分、秒字段,可以set,也可以get。
         */

        //实例化对象
        Calendar calendar = Calendar.getInstance();

        /*
        1、设置时间(月份设置1,就相当于2月)
         */
        calendar.set(2020, 2, 11, 12, 10, 2);

        /*
        2、输出时间
        结果:Wed Mar 11 12:12:12 CST 2020
         */
        System.out.println(calendar.getTime());

        /*
        3、输出分钟(月份等字段也是如此)
        输出:12
         */
        System.out.println(calendar.get(Calendar.MINUTE));

        /*
        4、月份加上某个值(年份等字段也是如此)
        输出:Mon May 11 12:12:12 CST 2020
         */
        calendar.add(Calendar.MONTH, 2);
        System.out.println(calendar.getTime());

        /*
        5、清除月份的值(年份等字段也是如此)
        输出:Sat Jan 11 12:12:12 CST 2020
         */
        calendar.clear(Calendar.MONTH);
        System.out.println(calendar.getTime());

        /*
        6、清除所有字段的值(年月日等六个字段)
        结果:Thu Jan 01 00:00:00 CST 1970
         */
        calendar.clear();
        System.out.println(calendar.getTime());

        /*
        7、比较两个时间对象
        before A的时间在B的时间之前,那么A.before(B)返回true
        after A的时间在B时间之后,那么A.after(B)返回true
        equals  A的时间和B时间相等,那么A.equals(B)返回true
         */
        calendar = Calendar.getInstance();


        /*
        8、该日期是一年中第几天
         */
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
        
        /*
        9、该日期是一年中第几个星期
         */
        System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));
        
    }

SimpleDateFormat

public static void main(String[] args) {
    
    
        //实例化对象,具体的时间格式,参考代码下方图片
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");

        /*
        1、format的作用
        从Date对象转换成自定义时间格式的字符串
        输出:2020-12-15 13:50:54
         */
        String a = simpleDateFormat.format(new Date());
        System.out.println(a);
         /*
        2、parse的作用
        从自定义时间格式的字符串转换成Date对象
        输出:1577598654000(毫秒格式)
         */
        try {
    
    
            Date date = simpleDateFormat.parse("2020-12-15 13:50:54");
            System.out.println(date.getTime());
        } catch (ParseException e) {
    
    
            e.printStackTrace();
        }
    }

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Mr_Qian_Ives/article/details/110916814