-
LocalDate类:
- 创建LocalDate对象:
- 使用
now()方法获取当前日期。 - 使用
of(year, month, day)方法根据年、月、日创建一个LocalDate对象。
- 使用
- 获取日期信息:
- 使用
getYear()、getMonthValue()、getDayOfMonth()等方法获取年、月、日信息。
- 使用
- 日期运算:
- 使用
plusDays(days)、minusMonths(months)等方法进行日期加减操作。
- 使用

- 创建LocalDate对象:
-
LocalTime类:
- 创建LocalTime对象:
- 使用
now()方法获取当前时间。 - 使用
of(hour, minute, second)方法根据时、分、秒创建一个LocalTime对象。
- 使用
- 获取时间信息:
- 使用
getHour()、getMinute()、getSecond()等方法获取时、分、秒信息。
- 使用
- 时间运算:
- 使用
plusHours(hours)、minusMinutes(minutes)等方法进行时间加减操作。
- 使用

- 创建LocalTime对象:
-
LocalDateTime类:
- 创建LocalDateTime对象:
- 使用
now()方法获取当前日期时间。 - 使用
of(year, month, day, hour, minute, second)方法根据年、月、日、时、分、秒创建一个LocalDateTime对象。
- 使用
- 获取日期时间信息:
- 使用
getYear()、getMonthValue()、getDayOfMonth()等方法获取年、月、日信息。 - 使用
getHour()、getMinute()、getSecond()等方法获取时、分、秒信息。
- 使用
- 日期时间运算:
- 使用
plusDays(days)、minusMonths(months)等方法进行日期加减操作。 - 使用
plusHours(hours)、minusMinutes(minutes)等方法进行时间加减操作。
- 使用
- 转换:
- 使用
toLocalDate()方法将LocalDateTime对象转换为LocalDate对象。 - 使用
toLocalTime()方法将LocalDateTime对象转换为LocalTime对象。
- 使用

- 创建LocalDateTime对象:
-
ZonedDateTime类:
- 创建ZonedDateTime对象:
- 使用
now()方法获取当前带时区的日期时间。 - 使用
of(LocalDateTime, ZoneId)方法根据本地日期时间和指定时区创建一个ZonedDateTime对象。
- 使用
- 时区转换:
- 使用
withZoneSameInstant(ZoneId)方法将ZonedDateTime对象转换到指定时区,返回一个新的ZonedDateTime对象。 - 使用
withZoneSameLocal(ZoneId)方法将ZonedDateTime对象转换到指定时区,保持本地日期时间不变。
- 使用

- 创建ZonedDateTime对象:
-
Instant类:
- 创建Instant对象:
- 使用
now()方法获取当前时间戳。 - 使用
ofEpochSecond(epochSecond)、ofEpochMilli(epochMilli)方法根据指定的秒数或毫秒数创建一个Instant对象。
- 使用
- 时间戳转换:
- 使用
toEpochMilli()方法将Instant对象转换为毫秒数。 - 使用
atZone(ZoneId)方法将Instant对象与指定时区关联,返回一个ZonedDateTime对象。
- 使用

- 创建Instant对象:
-
Duration类:
- 创建Duration对象:
- 使用
between(start, end)方法根据两个时间点创建一个持续时间对象。
- 使用
- 获取持续时间信息:
- 使用
toDays()、toHours()、toMinutes()等方法获取持续时间的天数、小时数、分钟数等。
- 使用

- 创建Duration对象:
-
Period类:
- 创建Period对象:
- 使用
between(start, end)方法根据两个日期创建一个间隔对象。
- 使用
- 获取间隔信息:
- 使用
getYears()、getMonths()、getDays()等方法获取间隔的年数、月数、天数等。
- 使用

- 创建Period对象:
-
DateTimeFormatter类:
- 格式化日期时间:
- 使用
ofPattern(pattern)方法创建一个DateTimeFormatter对象,指定日期时间的格式。 - 使用
format(dateTime)方法将日期时间对象格式化为字符串。
- 使用
- 解析日期时间:
- 使用
parse(text)方法将字符串解析为日期时间对象。
- 使用

- 格式化日期时间:
Date 转 LocalDate:
在将Date对象转换为LocalDate对象时,需要使用toInstant()方法将Date对象转换为Instant对象,然后使用atZone()方法将Instant对象转换为ZonedDateTime对象,最后通过toLocalDate()方法获取LocalDate对象。
Date date = new Date();
Instant instant = date.toInstant();
ZonedDateTime zonedDateTime = instant.atZone(ZoneId.systemDefault());
LocalDate localDate = zonedDateTime.toLocalDate();
需要注意的是,这种转换可能会有一些精度丢失,因为LocalDate只包含年、月、日信息,而Date包含了时分秒和毫秒信息。
LocalDate 转 Date:
在将LocalDate对象转换为Date对象时,需要使用atStartOfDay()方法将LocalDate对象转换为LocalDateTime对象,然后使用atZone()方法将LocalDateTime对象转换为ZonedDateTime对象,最后通过toInstant()方法获取Instant对象,并通过Date.from(instant)将Instant对象转换为Date对象。
LocalDate localDate = LocalDate.now();
LocalDateTime localDateTime = localDate.atStartOfDay();
ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.systemDefault());
Instant instant = zonedDateTime.toInstant();
Date date = Date.from(instant);
本文详细介绍了Java中的日期和时间处理类,如LocalDate、LocalTime、LocalDateTime、ZonedDateTime的创建、获取信息、运算以及日期/时间之间的转换,包括Date对象的转换和DateTimeFormatter的格式化与解析。
615

被折叠的 条评论
为什么被折叠?



