Java 如何修改本地日期
LocalDate
提供了以下方法,可用于获取相对于可用本地日期对象的新本地日期实例。
plusDays()
plusWeeks()
plusMonths()
plusYears()
minusDays()
minusWeeks()
minusMonths()
minusYears()
LocalDate today = LocalDate.now(); // 3年后 LocalDate localDate1 = today.plusYears(3); // 3月前 LocalDate localDate2 = today.minusMonths(3);
java.time.LocalDate 类,在 Java 8 中引入,表示没有时区和当天时间的本地日期,例如2019-06-17
。
它具有作为一天中开始时刻的时间部分,例如:分钟和秒被视为零。
java.util.Date
和 java.time.LocalDate
之间的主要区别在于 LocalDate 实例是不可变的和线程安全的。
java.time.LocalDate 类声明
public final class LocalDate extends Object implements Temporal, TemporalAdjuster, ChronoLocalDate, Serializable { //class body }
Java建LocalDate
通常,我们会在两种情况下创建本地日期实例,例如:获取当前日期或者创建指定日期的本地日期。
获取当前本地日期
使用以下方法获取当前本地日期。
LocalDate today = LocalDate.now(); //1 - Recommended LocalDate today = LocalDate.ofInstant(Instant.now(), ZoneId.systemDefault()); //
创建指定的本地日期
要创建具有特定日、月和年的本地日期,请使用以下方法。
LocalDate dateInstance = LocalDate.of(2019, 3, 27); LocalDate dateInstance = LocalDate.parse("2019-03-27");
Java如何将LocalDate格式化为字符串
使用LocalDate.format(DateTimeFormatter)
方法将本地日期格式化为所需的字符串表示形式。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d-MMM-yyyy"); LocalDate today = LocalDate.now(); String dateString = today.format(formatter); //23-Mar-2019
欢迎 on
it
road
Java如何将字符串解析为LocalDate
LocalDate
类有两个重载的 parse() 方法来将字符串日期转换为本地日期实例。
parse(CharSequence text) //1 parse(CharSequence text, DateTimeFormatter formatter) //2
- 如果字符串包含“ISO_LOCAL_DATE”模式中的日期,则使用第一种方法,例如:yyyy-MM-dd。这是 Java 中本地日期的默认模式。
- 对于任何其他日期模式,我们需要使用第二种方法,我们传递日期字符串以及表示该日期字符串的模式的格式化程序。
//1 - default date pattern String date = "2019-03-23"; LocalDate localDate = LocalDate.parse(date); //2 - specific date pattern DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d-MMM-yyyy"); String date = "23-Mar-2019"; LocalDate localDate = LocalDate.parse(date, formatter);
日期:2020-09-17 00:09:39 来源:oir作者:oir