文章目录
1、获取日期/时间/日期时间2、获取年月日时分秒3、给定数值生成日期时间4、格式化(日期时间->字符串)5、解析(字符串->日期时间)6、设定具体值7、日期时间的加减8、小测试(日期->日期时间)
注意:本文中相关变量与对应的类型关系为
datexxx -> LocalDatetimexxx -> LocalTimedateTimexxx -> LocalDateTime
1、获取日期/时间/日期时间
LocalDate date1
= LocalDate
.now();
LocalTime time1
= LocalTime
.now();
LocalDateTime dateTime1
= LocalDateTime
.now();
LocalDate dateTime1WithDate
= dateTime1
.toLocalDate();
LocalTime dateTime1WithTime
= dateTime1
.toLocalTime();
2、获取年月日时分秒
int year
= dateTime1
.getYear();
Month month
= dateTime1
.getMonth();
int monthValue
= dateTime1
.getMonthValue();
int dayOfMonth
= dateTime1
.getDayOfMonth();
int hour
= dateTime1
.getHour();
int minute
= dateTime1
.getMinute();
int second
= dateTime1
.getSecond();
3、给定数值生成日期时间
LocalDate date2
= LocalDate
.of(2020, 9, 3);
LocalTime time2
= LocalTime
.of(22, 30, 59);
LocalDateTime dateTime2WithMonth
= LocalDateTime
.of(2020, 8, 1, 16, 29, 3);
LocalDateTime dateTime2WithMonthValue
= LocalDateTime
.of(2020, Month
.APRIL
, 6, 19, 23, 2);
LocalDateTime dateTimeWithdt
= LocalDateTime
.of(date2
, time2
);
4、格式化(日期时间->字符串)
DateTimeFormatter dateFormatter
= DateTimeFormatter
.ofPattern("yyyy/MM/dd");
String dateStr
= dateFormatter
.format(LocalDate
.now());
DateTimeFormatter timeFormatter
= DateTimeFormatter
.ofPattern("HH:mm:ss");
String timeStr
= timeFormatter
.format(LocalTime
.now());
DateTimeFormatter dateTimeFormatter
= DateTimeFormatter
.ofPattern("yyyy/MM/dd HH:mm:ss");
String dateTimeStr
= dateTimeFormatter
.format(LocalDateTime
.now());
5、解析(字符串->日期时间)
LocalTime time3
= LocalTime
.parse("20:30:55");
LocalDate date3
= LocalDate
.parse("2020-10-03");
LocalDateTime dateTime3
= LocalDateTime
.parse("2020-03-04T13:45:55");
LocalDate date4
= LocalDate
.parse("2020/03/04", DateTimeFormatter
.ofPattern("yyyy/MM/dd"));
LocalTime time4
= LocalTime
.parse("20/01/23", DateTimeFormatter
.ofPattern("HH/mm/ss"));
LocalDateTime dateTime4
= LocalDateTime
.parse("2020/05/06 23/34/45",
DateTimeFormatter
.ofPattern("yyyy/MM/dd HH/mm/ss"));
6、设定具体值
LocalDate date5
= date4
.withYear(1999).withMonth(9).withDayOfMonth(25);
LocalTime time5
= time4
.withHour(1).withMinute(2).withSecond(3);
LocalDateTime dateTime5
= dateTime4
.withYear(1998).withMonth(3).withDayOfMonth(31)
.withHour(13).withMinute(10).withSecond(25);
7、日期时间的加减
LocalDate date6
= date5
.plusYears(1).plusMonths(1).plusDays(1);
LocalTime time6
= time5
.plusHours(1).plusMinutes(1).plusSeconds(1);
LocalDateTime dateTime6
= dateTime5
.plusYears(1).plusMonths(1).plusDays(1)
.plusHours(1).plusMinutes(1).plusSeconds(1);
LocalDate date7
= date6
.minusYears(1).minusMonths(1).minusDays(1);
LocalTime time7
= time6
.minusHours(1).minusMinutes(1).minusSeconds(1);
LocalDateTime dateTime7
= dateTime6
.minusYears(1).minusMonths(1).minusDays(1).
minusHours(1).minusMinutes(1).minusSeconds(1);
8、小测试(日期->日期时间)
LocalDate localDate
= LocalDate
.parse("2020/09/04", DateTimeFormatter
.ofPattern("yyyy/MM/dd"));
LocalTime localTime
= LocalTime
.of(0, 0, 0);
LocalDateTime localDateTime
= LocalDateTime
.of(localDate
, localTime
);
LocalDateTime localDateTime1
= localDateTime
.plusDays(1).minusSeconds(1);