时间转换格式出现错误

前言

在使用2025-09转换成LocalDateTime出现错误,原因在于LocalDateTime只能适用这种格式yyyy-MM-dd HH:mm:ss,LocalDate使用yyyy-MM-dd格式,否则会抛异常

解决方法

转换成LocalDate

将字符串时间补充到yyyy-MM-dd格式,然后格式化时间

ini 复制代码
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String time = "2025-09-01";

// 解析成LocalDate
LocalDate localDate = LocalDate.parse(time, dateTimeFormatter);


LocalDateTime localDateTime = localDate.atStartOfDay();

System.out.println(localDateTime); 

使用LocalDateTime解析

scss 复制代码
public class DateParseExample {
    public static void main(String[] args) {
        String dateStr = "2025-02-01";

        final TemporalAccessor temporalAccessor = DateTimeFormatter.ISO_DATE.parse(dateStr);
        final LocalDateTime localDateTime = LocalDateTime.of(
                secureGet(temporalAccessor, ChronoField.YEAR),
                secureGet(temporalAccessor, ChronoField.MONTH_OF_YEAR),
                secureGet(temporalAccessor, ChronoField.DAY_OF_MONTH),
                secureGet(temporalAccessor, ChronoField.HOUR_OF_DAY),
                secureGet(temporalAccessor, ChronoField.MINUTE_OF_HOUR),
                secureGet(temporalAccessor, ChronoField.SECOND_OF_MINUTE),
                secureGet(temporalAccessor, ChronoField.NANO_OF_SECOND)
        );
        System.out.println(localDateTime);
    }

    private static int secureGet(TemporalAccessor temporalAccessor, ChronoField chronoField) {
        if (temporalAccessor.isSupported(chronoField)) {
            return temporalAccessor.get(chronoField);
        }
        return 0;
    }
}

或者补到这种时间格式yyyy-MM-dd HH:mm:ss,然后转换为LocalDateTime

相关推荐
QQ196328847514 小时前
ssm基于Springboot+的球鞋销售商城网站vue
vue.js·spring boot·后端
逑之14 小时前
C语言笔记5:函数
java·c语言·笔记
JavaLearnerZGQ14 小时前
1、Java中的线程
java·开发语言·python
小当家.10514 小时前
深入理解JVM:架构、原理与调优实战
java·jvm·架构
幽络源小助理15 小时前
springboot校园车辆管理系统源码 – SpringBoot+Vue项目免费下载 | 幽络源
vue.js·spring boot·后端
刀法如飞15 小时前
一款开箱即用的Spring Boot 4 DDD工程脚手架
java·后端·架构
一嘴一个橘子15 小时前
spring-aop 的 基础使用 -3 - 切点表达式 的提取、复用
java
Re_zero15 小时前
Java新手避坑:为什么我劝你放弃 scanner.nextInt()?
java
uzong15 小时前
后端系统设计文档模板
后端
幽络源小助理15 小时前
SpringBoot+Vue车票管理系统源码下载 – 幽络源免费项目实战代码
vue.js·spring boot·后端