日期格式化
本文作者:程序员飞云
目前遇到日期问题,比如现在数据导入时候,日期有9.01、9.1格式的日期,不能直接使用format进行处理,需要通过TemporalAccessor进行处理。
private static LocalDate parseDate(String dateString, int year) {
// 定义两个可能的日期格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("M.d", Locale.US).withResolverStyle(ResolverStyle.STRICT);
try {
// 使用 TemporalAccessor 来解析日期
TemporalAccessor temporalAccessor = formatter.parse(dateString);
int month = temporalAccessor.get(java.time.temporal.ChronoField.MONTH_OF_YEAR);
int day = temporalAccessor.get(java.time.temporal.ChronoField.DAY_OF_MONTH);
// 构建完整的 LocalDate 对象
return LocalDate.of(year, month, day);
} catch (DateTimeParseException e) {
// 如果解析失败,抛出异常或进行其他处理
throw new IllegalArgumentException("Invalid date format: " + dateString, e);
}
}
贡献者
flycodeu
版权所有
版权归属:flycodeu