今天闲着没事写了几个常用的时间转换类,原本是想要写成一个工具类的,但是考虑到后期可能会有各种各样的需求,要进行扩展,就都单独写了下,还是那句话,上代码~
LocalDateTimeToString
public class LocalDateTimeToString implements Converter<LocalDateTime, String> {
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
public LocalDateTimeToString() {
}
public String convert(LocalDateTime source) {
return Objects.isNull(source) ? null : FORMATTER.format(source);
}
}
LocalDateToString
public class LocalDateToString implements Converter<LocalDate, String> {
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
public LocalDateToString() {
}
public String convert(LocalDate source) {
return Objects.isNull(source) ? null : FORMATTER.format(source);
}
}
LocalTimeToString
public class LocalTimeToString implements Converter<LocalTime, String> {
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("HH:mm:ss");
public LocalTimeToString() {
}
public String convert(LocalTime source) {
return Objects.isNull(source) ? null : FORMATTER.format(source);
}
}
StringToLocalDate
public class StringToLocalDate implements Converter<String, LocalDate> {
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
public StringToLocalDate() {
}
public LocalDate convert(String source) {
return StringUtils.isEmpty(source) ? null : LocalDate.parse(source, FORMATTER);
}
}
StringToLocalDateTime
public class StringToLocalDateTime implements Converter<String, LocalDateTime> {
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
private static final DateTimeFormatter FORMATTER_T = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
public StringToLocalDateTime() {
}
public LocalDateTime convert(String source) {
if (StringUtils.isEmpty(source)) {
return null;
} else {
return source.contains("T") ? LocalDateTime.parse(source, FORMATTER_T) : LocalDateTime.parse(source, FORMATTER);
}
}
}
StringToLocalTime
public class StringToLocalTime implements Converter<String, LocalTime> {
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("HH:mm:ss");
public StringToLocalTime() {
}
public LocalTime convert(String source) {
return StringUtils.isEmpty(source) ? null : LocalTime.parse(source, FORMATTER);
}
}
这个是常用时间格式:
public class FormatConstant {
public static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
public static final String DATE_TIME_FORMAT_T = "yyyy-MM-dd'T'HH:mm:ss";
public static final String DATE_FORMAT = "yyyy-MM-dd";
public static final String TIME_FORMAT = "HH:mm:ss";
public FormatConstant() {
}
}