参考其他用法链接: LocalDate用法
![获取当前时间加减后的日期](https://img-blog.csdnimg.cn/f474744c7e2447448441857ef1ec730f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGV0J3MgR2_vvIHnoIF-,size_20,color_FFFFFF,t_70,g_se,x_16)
private static final String DETAIL_FORMAT_STRING = "yyyy-MM-dd HH:mm:ss";
private static final String PROBABLY_FORMAT_STRING = "yyyy-MM-dd";
private static final String DETAIL_REGEX = "(0[0-9]|1[0-9]|2[0-3]):(0[0-9]|[1-5][0-9]):(0[0-9]|[1-5][0-9])";
private static final String PROBABLY_REGEX = "\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0|1])";
public static String localDateToString(LocalDate localDate) {
return DateTimeFormatter.ofPattern(PROBABLY_FORMAT_STRING).format(localDate);
}
public static String localDateTimeToString(LocalDateTime localDateTime) {
return DateTimeFormatter.ofPattern(DETAIL_FORMAT_STRING).format(localDateTime);
}
public static LocalDate stringToLocalDate(String s) {
return stringNotNull(s) && Pattern.matches(PROBABLY_REGEX, s) ?
LocalDate.parse(s, DateTimeFormatter.ofPattern(PROBABLY_FORMAT_STRING)) : null;
}
public static LocalDateTime stringToLocalDateTime(String s) {
return stringNotNull(s) && Pattern.matches(PROBABLY_REGEX + " " + DETAIL_REGEX, s) ?
LocalDateTime.parse(s, DateTimeFormatter.ofPattern(DETAIL_FORMAT_STRING)) : null;
}
private static boolean stringNotNull(String s) {
return null != s && s.length() > 0 && !"NULL".equals(s) && !"null".equals(s) && !"''".equals(s) && !"\"\"".equals(s);
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/50c9e600692e4184b814d46cd51dd02c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGV0J3MgR2_vvIHnoIF-,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/920c80c662f64bb09bcf9b25b4c0621b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGV0J3MgR2_vvIHnoIF-,size_20,color_FFFFFF,t_70,g_se,x_16)
LocalDate
用于处理日期,yyyy-MM-dd格式。
LocalDate的基本用法
项目 | Value |
---|
LocalDate localDate = LocalDate.now(); | 获取当前日期 |
String format = LocalDate.now().format(DateTimeFormatter.ofPattern(“yyyy-MM-dd”)); | LocalDate转String |
LocalDate parse = LocalDate.parse(“2020-01-17”, DateTimeFormatter.ofPattern(“yyyy-MM-dd”)); | String转LocalDate |
Date date = Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant()); | LocalDate转Date |
LocalDate localDate = new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); | Date转LocalDate |
LocalTime
用于处理时间,HH:mm:ss格式。
LocalTime的基本用法
项目 | Value |
---|
LocalTime now = LocalTime.now(); | 获取当前时间 |
String format = LocalTime.now().format(DateTimeFormatter.ofPattern(“HH:mm:ss”)); | LocalTime转String |
LocalTime parse = LocalTime.parse(“14:32:24”, DateTimeFormatter.ofPattern(“HH:mm:ss”)); | String转LocalTime |
LocalTime localTime = new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalTime(); | Date转LocalTime |
LocalDateTime
用于处理 yyyy-MM-dd HH:mm:ss格式的时间
LocalDateTime的基本用法
项目 | Value |
---|
LocalDateTime localDateTime= LocalDateTime.now(); | 获取当前时间 |
LocalDateTime.now().format(DateTimeFormatter.ofPattern(“yyyy-MM-dd HH:mm:ss”)) | LocalDateTime转String |
LocalDateTime parse = LocalDateTime.parse(“2020-01-17 11:52:04”, DateTimeFormatter.ofPattern(“yyyy-MM-dd HH:mm:ss”)); | String转LocalDateTime |
Date from = Date.from(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant()); | LocalDateTime转Date |
LocalDateTime localDateTime = LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()); | |