在 Java Date-Time API 中的方法名称尽可能在类之间保持一致。 例如,
now 方法返回当前时刻的日期或时间值。- from
方法允许从一个类转换到另一个类。下表列出了常用的前缀: - of
静态工厂方法 工厂方法创建一个实例并验证输入参数- from
静态工厂方法将输入参数转换为目标类的实例。- parse
静态工厂方法 解析输入字符串以创建目标类的实例。- format
实例方法 格式化临时对象以产生字符串。- get
实例方法 返回目标对象的一部分。- is
实例方法 查询目标对象。- with
实例方法 返回一个元素已更改的目标对象的副本。- plus
实例方法 返回具有添加的时间量的对象的副本。- minus
实例方法 返回具有减去时间量的对象的副本。- to
实例方法 将此对象转换为另一种类型。- at
实例方法 将此对象与另一个对象组合。
of()方法Java 日期时间 API 的 XXX()方法用于创建对象。 以下代码显示了如何创建 LocalDate 类的对象: import java.time.LocalDate; import java.time.Month;
public class Main { public static void main(String[] args) { LocalDate localDate1 = LocalDate.of(2014, 5, 21); System.out.println(localDate1); LocalDate localDate2 = LocalDate.of(2014, Month.MARCH, 4); System.out.println(localDate2); LocalDate localDate3 = LocalDate.ofEpochDay(2014); System.out.println(localDate3); LocalDate localDate4 = LocalDate.ofYearDay(2014, 39); System.out.println(localDate4); } }
上面的代码生成以下结果。 from()方法
from() 是一个静态工厂方法,用于从指定的参数派生 datetime 对象。与
of() 不同,- from()
需要对指定参数进行数据转换。以下代码显示如何从 LocalDateTime 派生 LocalDate: import java.time.LocalDate; import java.time.LocalDateTime;
public class Main { public static void main(String[] args) { LocalDateTime localDateTime = LocalDateTime.of(2015, 6, 21, 13, 40); System.out.println(localDateTime); LocalDate localDate = LocalDate.from(localDateTime); System.out.println(localDate); } }
上面的代码生成以下结果。 with()方法要更改 datetime 对象中的字段,我们可以使用带有前缀的方法。 withXXX()方法返回一个对象的副本,指定的字段已更改,因为 Date Time API 中的大多数对象都是不可变的。 以下代码显示如何从另一个 LocalDate 获取 LocalDate,并更改年份: import java.time.LocalDate; import java.time.Month;
public class Main { public static void main(String[] args) { LocalDate localDate1 = LocalDate.of(2014, Month.MAY, 2); System.out.println(localDate1); LocalDate localDate2 = localDate1.withYear(2015); System.out.println(localDate2); LocalDate localDate3 = localDate1.withYear(2014).withMonth(7); System.out.println(localDate3); } }
上面的代码生成以下结果。 getXXX()方法
getXXX() 返回对象的指定元素。以下代码显示如何从
LocalDate 对象获取年,月和日:import java.time.LocalDate; import java.time.Month;
public class Main { public static void main(String[] args) { LocalDate localDate = LocalDate.of(2014, 6, 21); int year = localDate.getYear(); System.out.println(year); Month month = localDate.getMonth(); System
|