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

如何将LocalDateTime从一种格式转换为另一种并返回LocalDateTime类型

问题解答

首先要明确一个核心概念:LocalDateTime是不带格式的时间对象,它只存储年、月、日、时、分、秒等时间数值信息,所谓的“格式”是把这个对象转换成字符串时的显示规则。因此不存在“转换LocalDateTime的格式”这种操作——格式属于字符串,不属于LocalDateTime对象本身。

你的业务需求要返回LocalDateTime类型,其实不需要对原对象做任何“格式转换”,因为原对象已经代表了你需要的那个时间点。你之前的代码里的localDateTime3就是符合要求的LocalDateTime实例,后续如果需要按指定格式输出,只在转字符串的时候用DateTimeFormatter处理就行。

修正后的代码示例:

String time1 = "2019-08-08T09:17:31.795306";
// 解析字符串为LocalDateTime对象(存储的是时间点,无格式)
LocalDateTime localDateTime3 = LocalDateTime.parse(time1);

// 当需要按指定格式输出时,再将对象转为字符串
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss");
String formattedStr = localDateTime3.format(formatter);
System.out.println(formattedStr);

// 业务逻辑直接返回这个LocalDateTime对象即可
// return localDateTime3;

如果你的真实需求是从一种格式的字符串得到另一种格式的字符串,同时中间要保留LocalDateTime对象,那流程就是:旧格式字符串 → 解析为LocalDateTime → 按新格式转为字符串,而LocalDateTime对象本身始终是同一个时间点的载体,不需要修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 04:35:28