java.util.Date、java.sql.Date与String三者之间的转换
时间: 2023-11-20 11:29:09 浏览: 95
Java中的Date和String是常见的数据类型,在实际开发中,可能需要将它们相互转换。同时,还有java.sql.Date类型,它与java.util.Date类型类似,但是用于与数据库中的日期类型进行交互。下面是它们之间的转换方法:
1. java.util.Date与String之间的转换
将java.util.Date类型转换为String类型:
```java
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(date);
```
将String类型转换为java.util.Date类型:
```java
String dateStr = "2021-08-05 11:30:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(dateStr);
```
2. java.util.Date与java.sql.Date之间的转换
将java.util.Date类型转换为java.sql.Date类型:
```java
Date date = new Date();
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
```
将java.sql.Date类型转换为java.util.Date类型:
```java
java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
Date date = new Date(sqlDate.getTime());
```
3. String与java.sql.Date之间的转换
将String类型转换为java.sql.Date类型:
```java
String dateStr = "2021-08-05";
java.sql.Date sqlDate = java.sql.Date.valueOf(dateStr);
```
将java.sql.Date类型转换为String类型:
```java
java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
String dateStr = sqlDate.toString();
```
值得注意的是,使用SimpleDateFormat进行格式化时,需要注意线程安全问题。如果在多线程环境下使用SimpleDateFormat,建议使用ThreadLocal来保证线程安全。
阅读全文