zoukankan      html  css  js  c++  java
  • JDK8日期时间对象

    1、LocalDate、LocalTime、LocalDateTime

    package demo;
    
    import java.time.LocalDate;
    import java.time.LocalDateTime;
    import java.time.LocalTime;
    
    /**
     * @description: demo17
     * @author: liuyang
     * @create: 2021-08-30 16:21
     */
    public class Demo17 {
        public static void main(String[] args) {
            // 当前日期
            LocalDate localDate = LocalDate.now();
            // 当前时间
            LocalTime localTime = LocalTime.now();
            // 当前日期+时间
            LocalDateTime localDateTime = LocalDateTime.now();
            System.out.println(localDate);
            System.out.println(localTime);
            System.out.println(localDateTime);
            // 创建指定日期对象
            LocalDate localDate1 = LocalDate.of(2019, 8, 30);
            // 创建指定日期时间对象
            LocalDateTime localDateTime1 = LocalDateTime.of(2021, 8, 30, 16, 31, 50);
            System.out.println(localDate1);
            System.out.println(localDateTime1);
            // 一个月的第几天
            System.out.println(localDateTime1.getDayOfMonth());
            // 一周的第几天
            System.out.println(localDateTime1.getDayOfWeek());
            // 月份英文
            System.out.println(localDateTime1.getMonth());
            // 月份数字
            System.out.println(localDateTime1.getMonthValue());
            // 时间中的分钟
            System.out.println(localDateTime1.getMinute());
            // 在localDate1的基础上得到一个新的日期对象且为一个月的第18天
            LocalDate localDate2 = localDate1.withDayOfMonth(18);
            // 在localDateTime2的基础上得到一个新的日期时间对象且小时数为18
            LocalDateTime localDateTime2 = localDateTime1.withHour(18);
            System.out.println(localDate2);
            System.out.println(localDateTime2);
            // 在localDate3的基础上得到一个新的日期对象且新日期在原来日期上加1天
            LocalDate localDate3 = localDate1.plusDays(1);
            // 在localDateTime3的基础上得到一个新的日期时间对象且在原来的小时上减去4小时
            LocalDateTime localDateTime3 = localDateTime1.minusHours(4);
            System.out.println(localDate3);
            System.out.println(localDateTime3);
        }
    }

    2、Instant(瞬时点)

    package demo;
    
    import java.time.Instant;
    import java.time.OffsetDateTime;
    import java.time.ZoneOffset;
    
    /**
     * @description: demo18
     * @author: liuyang
     * @create: 2021-08-30 16:54
     */
    public class Demo18 {
        public static void main(String[] args) {
            // 获取本初子午线对应的标准时间
            Instant instant = Instant.now();
            // 获取东八区对应的时间
            OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8));
            System.out.println(instant);
            System.out.println(offsetDateTime);
            // 获取瞬时点对应的毫秒数
            long epochMilli = instant.toEpochMilli();
            System.out.println(epochMilli);
            // 某个毫秒数对应的瞬时点
            Instant instant1 = Instant.ofEpochMilli(epochMilli);
            System.out.println(instant1);
        }
    }

    3、日期时间的格式化和解析

    package demo;
    
    import java.time.LocalDate;
    import java.time.LocalDateTime;
    import java.time.LocalTime;
    import java.time.format.DateTimeFormatter;
    import java.time.format.FormatStyle;
    
    /**
     * @description: demo19
     * @author: liuyang
     * @create: 2021-08-30 17:55
     */
    public class Demo19 {
        public static void main(String[] args) {
            /**
             * 预定义的标准格式
             * DateTimeFormatter.ISO_LOCAL_DATE
             * DateTimeFormatter.ISO_LOCAL_TIME
             * DateTimeFormatter.ISO_LOCAL_DATE_TIME
             */
            LocalDateTime localDateTime = LocalDateTime.now();
            DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE;
            String result = formatter.format(localDateTime);
            System.out.println(result); // 2021-08-30
            LocalDate localDate = LocalDate.parse("2021-08-30", formatter);
            System.out.println(localDate); // 2021-08-30
    
            DateTimeFormatter formatter1 = DateTimeFormatter.ISO_LOCAL_TIME;
            String result1 = formatter1.format(localDateTime);
            System.out.println(result1); // 17:59:23.012
            LocalTime localTime = LocalTime.parse("17:59:23.012", formatter1);
            System.out.println(localTime); // 17:59:23.012
    
            DateTimeFormatter formatter2 = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
            String result2 = formatter2.format(localDateTime);
            System.out.println(result2); // 2021-08-30T18:00:24.774
            LocalDateTime localDateTime1 = LocalDateTime.parse("2021-08-30T18:00:24.774", formatter2);
            System.out.println(localDateTime1); // 2021-08-30T18:00:24.774
    
            /**
             * 本地相关的格式
             * 适用于LocalDate的格式:
             * FormatStyle.FULL、FormatStyle.LONG、FormatStyle.MEDIUM、FormatStyle.SHORT
             * 适用于LocalDateTime的格式:
             * FormatStyle.LONG、FormatStyle.MEDIUM、FormatStyle.SHORT
             */
            // LocalDate开始
            LocalDate localDate1 = LocalDate.now();
            DateTimeFormatter formatter3 = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL);
            String result3 = formatter3.format(localDate1);
            System.out.println(result3); // 2021年8月30日 星期一
    
            DateTimeFormatter formatter4 = DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG);
            String result4 = formatter4.format(localDate1);
            System.out.println(result4); // 2021年8月30日
    
            DateTimeFormatter formatter5 = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM);
            String result5 = formatter5.format(localDate1);
            System.out.println(result5); // 2021-8-30
    
            DateTimeFormatter formatter6 = DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT);
            String result6 = formatter6.format(localDate1);
            System.out.println(result6); // 21-8-30
    
            // LocalDateTime开始
            LocalDateTime localDateTime2 = LocalDateTime.now();
            DateTimeFormatter formatter7 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG);
            String result7 = formatter7.format(localDateTime2);
            System.out.println(result7); // 2021年8月30日 下午06时37分36秒
    
            DateTimeFormatter formatter8 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM);
            String result8 = formatter8.format(localDateTime2);
            System.out.println(result8); // 2021-8-30 18:38:20
    
            DateTimeFormatter formatter9 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);
            String result9 = formatter9.format(localDateTime2);
            System.out.println(result9); // 21-8-30 下午6:39
    
            DateTimeFormatter formatter10 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
            String result10 = formatter10.format(LocalDateTime.now());
            System.out.println(result10); // 2021-08-30 18:50:07
            LocalDateTime localDateTime3 = LocalDateTime.parse("2021-08-30 18:49:39", formatter10);
            System.out.println(localDateTime3); // 2021-08-30T18:49:39
        }
    }
    相识是缘
  • 相关阅读:
    [BTS] BizTalk WCF-SQL Adapter 高级应用
    [BTS] BizTalk EDI character set and separator settings
    [ThingWorx] Install Guideline
    [ThingWorx] Install PostgreSQL Issue
    [BTS] BizTalk EDI AS2 Error 1
    [BTS] BizTalk With EF
    [BTS] Exception occurred when persisting state to the database
    [BTS] MSDTC
    [BTS] The value "" for the property InboundId is invalid
    [Android] Android Sutdio on Surface Pro 3
  • 原文地址:https://www.cnblogs.com/liuyang-520/p/15206767.html
Copyright © 2011-2022 走看看