java 怎么将时间字符串2023-06-09 09:43:11转为yyyy-MM-dd格式?
时间: 2025-06-27 14:10:25 浏览: 3
在 Java 中,我们可以利用 `SimpleDateFormat` 类或者更现代的 `DateTimeFormatter` (来自 `java.time` 包)来完成这种时间格式之间的转换任务。
以下是基于较新的 `java.time.LocalDateTime` 和 `java.time.format.DateTimeFormatter` API 的一种解决方案:
```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String originalDateTime = "2023-06-09 09:43:11";
// 创建解析原始日期时间字符串的 DateTimeFormatter
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 解析输入的字符串为 LocalDateTime 对象
LocalDateTime localDateTime = LocalDateTime.parse(originalDateTime, inputFormatter);
// 新建一个只保留日期部分格式化的 formatter
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// 最终得到 yyyy-MM-dd 形式的字符串结果
String formattedDate = localDateTime.format(outputFormatter);
System.out.println(formattedDate); // 输出: 2023-06-09
}
}
```
### 步骤解释
1. **定义原字符串及初始格式**:首先我们有一个代表完整日期加时间点的字符串 `"2023-06-09 09:43:11"`.
2. **创建合适的 DateTimeFormatter** : 需要知道如何理解给定的字符串所以要用对应的模式去匹配它。
3. **进行实际的数据解析操作** :通过调用 `parse()` 方法把传入的字符创变成 `LocalDateTime` 对象形式以便进一步处理。
4. **二次构造所需的目标格式器** :再次声明一个新的 Formatter ,这一次只需要年月日的部分信息。
5. **最终格式化输出** :借助之前生成好的对象调用 format() 函数获得期望的结果。
阅读全文
相关推荐


















