Date介绍与Calendar,DateTimeFormatter格式日期类


        /**
         * 1.获取当前系统时间
         * 2.是在java.util包下的
         * 3.默认输出的格式是国外的方法,通常需要对格式进行转换
         * 利用SimpleDateFormat进行转换
         */
        Date date1 = new Date();

        /**
         * 在后面可以指定时间格式的输出方式
         * y 年
         * M 月
         * d 日
         * h 时
         * m 分
         * s 秒
         */
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
        String format1 = simpleDateFormat.format(date1);
        System.out.println("date1当前日期,新的格式为: "+format1);

        /**
         * 通过指定毫秒数,获取时间
         */
        Date date2 = new Date(65345242);
        String format2 = simpleDateFormat.format(date2);
        System.out.println("date2当前日期,新的格式为: "+format2);

        /**
         * 可以把一个字符串时间转为对应的Date时间(这里需要抛出或捕获异常)
         * 下面s1中的格式需要与上面new SimpleDateFormat()指定的格式保持一致,否则会报错
         */
        String s1 = "2022年08月20日 20:00:00";
        Date date3 = simpleDateFormat.parse(s1);
        String format3 = simpleDateFormat.format(date3);
        System.out.println("date3当前日期,新的格式为: "+format3);
 /**
         * Calendar是一个抽象类,并且他的构造器是private
         * 可以通过getInstance来获取实例
         */
        Calendar c = Calendar.getInstance(); //创建日历类对象
        System.out.println(c);
        /**
         * 获取日历对象的某个相关字段
         * 月的话需要+1  月是按0开始编号的
         * 如果需要按照24小时进制来表示小时   Calendar.HOUR ---> Calendar.HOUR_OF_DAY
         * calendar 没有专门的格式化方法,需要自己组装
         */
        System.out.println("年" + c.get(Calendar.YEAR));
        System.out.println("月" + c.get(Calendar.MONTH) + 1);
        System.out.println("日" + c.get(Calendar.DATE));
        System.out.println("小时" + c.get(Calendar.HOUR));
        System.out.println("小时" + c.get(Calendar.HOUR_OF_DAY));

        /**
         * 第三代日期
         * JDK8 加入的 LocalDate(日期)  LocalTime(时间)  LocalDateTime(日期时间)
         * .get 可以取对应属性  .getYear()
         */
        LocalDate now1 = LocalDate.now();
        LocalTime now2 = LocalTime.now();
        LocalDateTime now3 = LocalDateTime.now();
        /**
         * 也可以对时间进行加或减
         * plus  minus
         * now3.plusDays(30) 加30天
         * 看看30分钟前是多会:now3.minusMinutes(30)
         */
        System.out.println(now1);
        System.out.println(now2);
        System.out.println(now3);
        System.out.println(now3.plusDays(30));
        System.out.println(now3.minusMinutes(30));

        /**
         *DateTimeFormatter格式日期类  类似于SimpleDateFormat
         *         DateTimeFormatter.ofPattern(格式)
         */
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 hh:mm:ss");
        String format = dateTimeFormatter.format(now3);
        System.out.println(format);

猜你喜欢

转载自blog.csdn.net/weixin_58642210/article/details/126512161