【发布时间】:2018-11-21 10:30:54
【问题描述】:
客户端可以发送String格式
"yyyy-MM-dd HH:mm:ss" 或 "yyyy-MM-dd" 取决于它我需要解析完整的LocalDateTime(如果他向我发送完整格式)或使用默认的Time 部分创建LocalDateTime 对象@ 部分"23:59:59"
目前我已经编写了这个解决方案,但它似乎很糟糕,因为我使用异常来控制业务逻辑。
public class LocalDateTimeConverter implements IStringConverter<LocalDateTime> {
private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@Override
public LocalDateTime convert(String value) {
LocalDateTime localDateTime;
try {
localDateTime = LocalDateTime.parse(value, DATE_TIME_FORMATTER);
} catch (DateTimeParseException ex) {
localDateTime = LocalDateTime.of(LocalDate.parse(value), LocalTime.of(23, 59, 59));
}
return localDateTime;
}
}
关于如何更清晰地实现它有什么建议吗?
【问题讨论】:
-
stackoverflow.com/questions/42310409/… 的关闭副本,但不回答“默认时间”部分。