java date格式转换
时间: 2025-05-15 16:02:31 浏览: 33
### Java 中 Date 格式转换的方法及示例
在 Java 中,`java.text.SimpleDateFormat` 是用于解析和格式化日期的主要工具之一。以下是关于 `Date` 和字符串之间互相转换的具体方法以及对应的示例代码。
#### 字符串转为 Date 对象
要将字符串形式的日期转换为 `Date` 对象,可以使用 `SimpleDateFormat.parse()` 方法[^1]:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatExample {
public static void main(String[] args) {
try {
String dateString = "2023-10-05";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(dateString);
System.out.println("转换后的Date对象:" + date.toString());
} catch (ParseException e) {
e.printStackTrace();
}
}
}
```
上述代码展示了如何定义一个指定模式(如 `"yyyy-MM-dd"`),并将符合该模式的字符串成功解析为 `Date` 对象。
---
#### Integer 时间戳转为 Date 对象
如果需要将整数类型的时间戳(通常是以秒或毫秒计)转换为 `Date` 对象,则可以通过构造函数完成此操作[^2]:
```java
import java.util.Date;
public class TimestampToDateExample {
public static void main(String[] args) {
long timestampInSeconds = 1696483200L; // 假设这是 Unix 时间戳(单位:秒)
long timestampInMillis = timestampInSeconds * 1000L; // 转换为毫秒
Date date = new Date(timestampInMillis);
System.out.println("由时间戳生成的Date对象:" + date.toString());
}
}
```
这里需要注意的是,标准 UNIX 时间戳通常是基于秒计算的,在传递给 `new Date(long)` 构造器之前需将其乘以 1000 来获得毫秒级数值。
---
#### Date 对象转为字符串
当需要把 `Date` 对象转化为可读性强的字符串时,同样依赖于 `SimpleDateFormat.format()` 函数[^3]:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateToStringExample {
public static void main(String[] args) {
Date currentDate = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
String formattedDate = formatter.format(currentDate);
System.out.println("当前时间作为字符串:" + formattedDate);
}
}
```
这段程序片段演示了获取系统当前时间和自定义其输出样式的过程。
---
#### Date 对象与时间戳之间的互转
对于更复杂的场景下涉及时间戳的操作,也可以借助 `SimpleDateFormat` 实现两者间的灵活切换[^4]:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTimestampConversion {
public static void main(String[] args) throws ParseException {
String inputTimeStr = "05/10/2023 12:00:00";
// 定义日期格式
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
// 解析输入时间为Date对象
Date parsedDate = sdf.parse(inputTimeStr);
// 获取对应的时间戳(毫秒)
long timeInMilliseconds = parsedDate.getTime();
System.out.println("原始字符串:" + inputTimeStr);
System.out.println("转换成的时间戳:" + timeInMilliseconds);
}
}
```
以上例子说明了从特定格式化的字符串到时间戳整个流程是如何执行的。
---
阅读全文
相关推荐


















