LocalDate的使用(当前时间、昨天、一个月前、一年前、Date类型与String类型互换)

时间:2025-02-18 07:06:09

LocalDate的使用

1.获取不同阶段的时间(Date类型)

①获得系统当前时间的两种方式

//第一种
Calendar calendar = Calendar.getInstance();
Date time = calendar.getTime();
//第二种
Calendar calendar = Calendar.getInstance();
Date time = new Date();

②获得昨天时间的方式

Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE,-1);
Date time = calendar.getTime();

③获得一个月前时间的方式

Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH,-1);
Date time = calendar.getTime();

④获得一年前时间的方式

Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.YEAR,-1);
Date time = calendar.getTime();

2.将Date类型的时间转成String类型的时间

Date date = new Date();
Instant instant = date.toInstant();
//toLocalDateTime() -- "yyyy-MM-dd hh:mm:ss"
//toLocalDate() -- "yyyy-MM-dd"
LocalDateTime localDateTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime();
String format = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss"));

2.将String类型的时间转成Date类型的时间

DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
LocalDate parse = LocalDate.parse("20160517", dateTimeFormatter);
ZonedDateTime dateTime = parse.atStartOfDay(ZoneId.systemDefault());
Date date = Date.from(dateTime.toInstant());