Java LocalDate类

Java LocalDate类是一个不可变类,它表示具有默认格式(yyyy-mm-dd)的日期。它继承自Object类并实现了ChronoLocalDate接口。

Java LocalDate类的声明

让我们看一下java.time.LocalDate类的声明。

public final class LocalDate extends Object   
implements Temporal, TemporalAdjuster, ChronoLocalDate, Serializable  

Java LocalDate的方法

MethodDescription
LocalDateTime atTime(int hour, int minute)它用于将此日期与时间组合以创建 LocalDateTime。
int compareTo(ChronoLocalDate other)它用于将此日期与另一个日期进行比较。
boolean equals(Object obj)它用于检查此日期是否等于另一个日期。
String format(DateTimeFormatter formatter)它用于使用指定的格式化程序格式化此日期。
int get(TemporalField field)它用于从该日期获取指定字段的值作为 int。
boolean isLeapYear()根据 ISO 预历系统规则,它用于检查年份是否为闰年。
LocalDate minusDays(long daysToSubtract)它用于返回此 LocalDate 的副本,并减去指定的天数。
LocalDate minusMonths(long monthsToSubtract)它用于返回此 LocalDate 的副本,并减去指定的月数。
static LocalDate now()它用于从默认时区的系统时钟获取当前日期。
LocalDate plusDays(long daysToAdd)它用于返回此 LocalDate 的副本,其中添加了指定的天数。
LocalDate plusMonths(long monthsToAdd)它用于返回此 LocalDate 的副本,其中添加了指定的月数。
LocalDate plusMonths(long monthsToAdd)它用于返回此 LocalDate 的副本,其中添加了指定的月数。
int getDayOfMonth()它获取日期字段。
DayOfWeek getDayOfWeek()它获取星期几字段,这是一个枚举 DayOfWeek。
int getDayOfYear()它获得了一年中的一天字段。
Month getMonth()它使用 Month 枚举获取年月字段。
int getMonthValue()它获取从 1 到 12 的月份字段。
int getYear()它获得年份字段。
int lengthOfMonth()它返回此日期表示的月份的长度。
int lengthOfYear()它返回此日期表示的年份的长度。
static LocalDate ofYearDay(int year, int dayOfYear)它从一年和一年中的某一天获取 LocalDate 的实例。
static LocalDate parse(CharSequence text)它从文本字符串(例如 2007-12-03)中获取 LocalDate 的实例
static LocalDate parse(CharSequence text, DateTimeFormatter formatter)它使用特定的格式化程序从文本字符串中获取 LocalDate 的实例。

Java LocalDate示例

演示LocalDate类的now()、minusDays()和plusDays()等方法的程序。

LocalDateExample1.java

import java.time.LocalDate;    
public class LocalDateExample1 {    
  public static void main(String[] args) {    
    LocalDate date = LocalDate.now();    
    LocalDate yesterday = date.minusDays(1);    
    LocalDate tomorrow = yesterday.plusDays(2);    
    System.out.println("Today date: "+date);    
    System.out.println("Yesterday date: "+yesterday);    
    System.out.println("Tomorrow date: "+tomorrow);    
  }    
}    

输出:

Today date: 2017-01-13
Yesterday date: 2017-01-12
Tomorrow date: 2017-01-14

演示LocalDate类的isLeapYear()方法的程序。

LocalDateExample2.java

import java.time.LocalDate;    
public class LocalDateExample2 {    
  public static void main(String[] args) {    
    LocalDate date1 = LocalDate.of(2017, 1, 13);    
    System.out.println(date1.isLeapYear());    
    LocalDate date2 = LocalDate.of(2016, 9, 23);    
    System.out.println(date2.isLeapYear());    
  }    
}    

输出:

false
true

演示LocalDate类的atTime()方法的程序。

LocalDateExample3.java

import java.time.*;  
public class LocalDateExample3 {  
  public static void main(String[] args) {  
    LocalDate date = LocalDate.of(2017, 1, 13);  
    LocalDateTime datetime = date.atTime(1,50,9);      
    System.out.println(datetime);   
  }  
}  

输出:

2017-01-13T01:50:09

演示LocalDate类的format()方法的程序。

LocalDateExample4.java

import java.time.LocalDate;  
import java.time.format.DateTimeFormatter;  
public class LocalDateExample4  
{  
    public static void main(String ar[])  
    {  
        // Converting LocalDate to String  
        // Example 1  
        LocalDate d1 = LocalDate.now();  
        String d1Str = d1.format(DateTimeFormatter.ISO_DATE);  
        System.out.println("Date1 in string :  " + d1Str);  
        // Example 2  
        LocalDate d2 = LocalDate.of(2002, 05, 01);  
        String d2Str = d2.format(DateTimeFormatter.ISO_DATE);  
        System.out.println("Date2 in string :  " + d2Str);  
        // Example 3  
        LocalDate d3 = LocalDate.of(2016, 11, 01);  
        String d3Str = d3.format(DateTimeFormatter.ISO_DATE);  
        System.out.println("Date3 in string :  " + d3Str);  
    }  
}  

输出:

Date1 in string :  2021-09-13
Date2 in string :  2002-05-01
Date3 in string :  2016-11-01

演示LocalDate类的parse()方法的程序。

LocalDateExample5.java

import java.time.LocalDate;  
// String to LocalDate in java 8  
public class LocalDateExample5   
{  
    public static void main(String ar[])   
    {  
        // Example 1  
        String dInStr = "2011-09-01";  
        LocalDate d1 = LocalDate.parse(dInStr);  
        System.out.println("String to LocalDate : " + d1);  
        // Example 2  
        String dInStr2 = "2015-11-20";  
        LocalDate d2 = LocalDate.parse(dInStr2);  
        System.out.println("String to LocalDate : " + d2);  
    }  
}  

输出:

String to LocalDate : 2011-09-01
String to LocalDate : 2015-11-20

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想