时间转换格式出现错误

前言

在使用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

相关推荐
devlei6 小时前
从源码泄露看AI Agent未来:深度对比Claude Code原生实现与OpenClaw开源方案
android·前端·后端
pshdhx_albert7 小时前
AI agent实现打字机效果
java·http·ai编程
沉鱼.447 小时前
第十二届题目
java·前端·算法
努力的小郑8 小时前
Canal 不难,难的是用好:从接入到治理
后端·mysql·性能优化
赫瑞8 小时前
数据结构中的排列组合 —— Java实现
java·开发语言·数据结构
Victor3569 小时前
MongoDB(87)如何使用GridFS?
后端
Victor3569 小时前
MongoDB(88)如何进行数据迁移?
后端
小红的布丁9 小时前
单线程 Redis 的高性能之道
redis·后端
GetcharZp9 小时前
Go 语言只能写后端?这款 2D 游戏引擎刷新你的认知!
后端
周末也要写八哥9 小时前
多进程和多线程的特点和区别
java·开发语言·jvm