Skip to content

日期格式化

约 173 字小于 1 分钟

SpringBoot

2025-03-04

本文作者:程序员飞云

本站地址:https://www.flycode.icu

目前遇到日期问题,比如现在数据导入时候,日期有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);
		}
}

贡献者

  • flycodeuflycodeu

公告板

2025-03-04正式迁移知识库到此项目