You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用DateTimeFormatter解析字符串为LocalDateTime时出现解析异常

问题分析与解决方案

你的核心问题是DateTimeFormatter的格式字符串和输入的日期字符串格式完全不匹配。

输入的日期字符串是12/02/2024 13:45:00,格式是日/月/年 时:分:秒,但你用的yyyy-MM-dd HH:mm:ss是年-月-日 时:分:秒的格式,两者从分隔符到字段顺序都不一样,自然解析失败。之前尝试的yyyy-MM-dd'T'HH:mm:ss和ISO_LOCAL_DATE_TIME也都是对应年-月-日T时:分:秒这类格式,和你的输入完全不搭。

正确代码示例

把格式字符串改成和输入匹配的dd/MM/yyyy HH:mm:ss即可:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class MainAppointment {

    public static void main(String[] args) {
        String description = "12/02/2024 13:45:00";
        // 格式字符串匹配输入的日/月/年 时:分:秒结构
        DateTimeFormatter parser = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");
        LocalDateTime result = LocalDateTime.parse(description, parser);
        System.out.println(result); // 输出:2024-02-12T13:45
    }
}

额外说明

  • dd代表两位数字的日期,MM代表两位数字的月份,yyyy代表四位数字的年份,/是分隔符,和输入中的/对应
  • 如果不确定输入的月份/日期是否是两位(比如可能是2/3/2024),可以用d/M/yyyy这种格式,它能兼容一位或两位的日/月

内容的提问来源于stack exchange,提问作者Tony Valderrama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 02:29:54