2021-04-18 11:35  阅读(92)
文章分类:Java 基础教程 文章标签:JavaJava 教程
©  原文作者:w3cschool 原文地址:https://www.w3cschool.cn/java/java-date-time-methods.html

Java日期时间 - Java本地日期时间

本地日期

LocalDate类表示没有时间或时区的日期。

当时间和时区相关时使用LocalDate。

LocalDate类包含两个常量,MAX和MIN。

MAX和MIN分别是最大和最小支持的LocalDate。

LocalDate.MAX为+ 999999999-12-31,LocalDate.MIN为-999999999-01-01。

以下代码显示如何创建LocalDate对象:

    import java.time.LocalDate;
    import java.time.Month;
    
    public class Main {
      public static void main(String[] args) {
        // Get the current local date
        LocalDate localDate1  = LocalDate.now();
        System.out.println(localDate1);
        // Create a  local date
        LocalDate localDate2  = LocalDate.of(2014, Month.JUNE, 21);
        System.out.println(localDate2);
        // 10000  days after the epoch date 1970-01-01
        LocalDate localDate3  = LocalDate.ofEpochDay(10000);
        System.out.println(localDate3);
      }
    }
    

上面的代码生成以下结果。

202104181139_1.png

例子

以下代码显示如何合并Year和MonthDay以获取LocalDate。

它在未来五年创造圣诞节。

以下代码将为12月25日创建一个MonthDay,并将其合并到一个年份以获取LocalDate。

    import java.time.LocalDate;
    import java.time.Month;
    import java.time.MonthDay;
    import java.time.Year;
    import java.time.format.TextStyle;
    import java.util.Locale;
    
    public class Main {
    
      public static void main(String[] args) {
        MonthDay dec25 = MonthDay.of(Month.DECEMBER, 25);
        Year year = Year.now();
    
        for (int i = 1; i <= 5; i++) {
          LocalDate ld = year.plusYears(i).atMonthDay(dec25);
          int yr = ld.getYear();
          String weekDay = ld.getDayOfWeek().getDisplayName(TextStyle.FULL,
              Locale.getDefault());
          System.out.format("Christmas in  %d  is on  %s.%n", yr, weekDay);
        }
      }
    }
    

上面的代码生成以下结果。

202104181138_2.png

本地时间

LocalTime类表示没有日期或时区的时间。

时间表示为纳秒精度。

LocalTime类包含MIN,MAX,MIDNIGHT和NOON常量

MIN是00:00。 MAX是23:59:59.999999999。MIDNIGHT为00:00。NOON是12:00。

以下代码片段创建LocalTime对象:

    import java.time.LocalTime;
    
    public class Main {
      public static void main(String[] args) {
        // current
        LocalTime  localTime1 = LocalTime.now();
        System.out.println(localTime1);
        // 09:30
        LocalTime  localTime2 = LocalTime.of(9, 30);
        System.out.println(localTime2);
        // 09:30:50
        LocalTime  localTime3 = LocalTime.of(9, 30, 50);
        System.out.println(localTime3);
        // 09:30:50.000005678
        LocalTime  localTime4 = LocalTime.of(9, 30, 50, 5678);
        System.out.println(localTime4);
      }
    }
    

上面的代码生成以下结果。

202104181138_3.png

本地日期时间

LocalDateTime类表示没有时区的日期和时间。

LocalDateTimeLocalDateLocalTime的组合。

以下代码显示如何创建LocalDateTime对象:

    import java.time.LocalDate;
    import java.time.LocalDateTime;
    import java.time.LocalTime;
    import java.time.Month;
    
    public class Main {
      public static void main(String[] args) {
        // current 
        LocalDateTime  localDateTime1 = LocalDateTime.now();
        System.out.println(localDateTime1);
        
        // 2014-06-21T16:12:34
        LocalDateTime  localDateTime2 = LocalDateTime.of(2014, Month.JUNE, 21, 16, 12, 34);
        System.out.println(localDateTime2);
        // from  a  local date and  a  local  time
        LocalDate localDate1  = LocalDate.of(2014, 5, 10); 
        LocalTime  localTime= LocalTime.of(16, 18,   41);
        LocalDateTime  localDateTime3 = LocalDateTime.of(localDate1, localTime);
        System.out.println(localDateTime3);
      }
    }
    

上面的代码生成以下结果。

202104181138_4.png

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> Java 本地日期时间
上一篇
Java 年月日
下一篇
Java 偏移日期时间