java时间格式转换yyyymmdd HH:mm:ss
时间: 2025-03-28 20:14:50 浏览: 38
### Java 时间格式化为 `yyyymmdd HH:mm:ss` 的实现
在 Java 中可以利用 `DateTimeFormatter` 和 `LocalDateTime` 来完成时间的解析与格式化操作。以下是具体方法:
#### 使用 `DateTimeFormatter` 进行格式化
通过自定义模式字符串来指定所需的日期时间格式,例如 `yyyymmdd HH:mm:ss`。
```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
// 当前时间
LocalDateTime now = LocalDateTime.now();
// 定义目标格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss");
// 将当前时间按照指定格式进行格式化
String formattedDate = now.format(formatter);
System.out.println(formattedDate); // 输出格式化的日期时间
}
}
```
上述代码片段展示了如何将当前的时间对象转换为目标格式 `yyyymmdd HH:mm:ss`[^1]。
#### 解析并重新格式化已有字符串
如果需要处理已有的时间字符串(如 `"202502251025"`),可以通过先将其解析为 `LocalDateTime` 对象再重新格式化。
```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
// 原始输入字符串
String input = "202502251025";
// 创建解析器 (假设秒默认为0)
DateTimeFormatter parser = DateTimeFormatter.ofPattern("yyyyMMddHHmm");
// 创建格式化器 (目标格式)
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss");
try {
// 解析原始字符串到 LocalDateTime
LocalDateTime dateTime = LocalDateTime.parse(input, parser);
// 转换为目标格式
String result = dateTime.format(formatter);
System.out.println(result); // 输出结果
} catch (Exception e) {
System.err.println("输入数据不合法:" + e.getMessage());
}
}
}
```
此部分实现了从特定格式的字符串解析至标准的目标格式 `yyyymmdd HH:mm:ss`[^3]。
#### 设置固定起止时间范围
当涉及日期范围的选择时,通常会设置固定的起始时间和终止时间分别为 `00:00:00` 和 `23:59:59`。这可通过手动拼接或调整时间字段的方式达成。
```java
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
public class DateRangeExample {
public static void main(String[] args) {
LocalDate date = LocalDate.now();
// 构造开始时间 (当天 00:00:00)
LocalDateTime startOfDay = date.atStartOfDay().with(LocalTime.MIN);
// 构造结束时间 (当天 23:59:59)
LocalDateTime endOfDay = date.atTime(LocalTime.MAX).minusNanos(1);
// 格式化输出
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
System.out.println("开始时间:" + startOfDay.format(formatter));
System.out.println("结束时间:" + endOfDay.format(formatter));
}
}
```
该示例演示了创建一天内的完整时间区间,并按需输出其对应的格式化表示形式[^2]。
---
阅读全文
相关推荐


















