Java中Date数据类型的数值转换


Java与MySQL交互的数据类型

java1.1时,从 MySQL 中查询出来的时间日期类型,都放在 java.util.Date类型里面了,但是这个类提供的时间操作函数太少,一般都需要转换成 java.util.Calendar 再去操作。

然而使用了java.util.Calendar 也不是很方便,一个很简单的想法,需要写很多代码才能实现。

于是java 提供与 MySQL方便交互的三种数据类型:java.sql.Date、java.sql.Time、java.sql.Timestamp,它们都是继承java.util.Date,适合用于跟数据库交互。


MySQL中的时间类型和对应的Java类型

MySQL中的时间类型

对应的 Java 类型

Date

java.sql.Date

Year

java.sql.Date

Time

java.sql.Time

Datetime

java.sql.Timestamp

Timestamp

java.sql.Timestamp


Java 各种 Date 格式之间的转换

一、将 java.util.Date 格式转换成 String 格式

1

2

3

4


Date date = new Date();  // 获取当前系统时间

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  // 设置日期格式

String strTime = simpleDateFormat.format(date);  // 格式转换

System.out.println(strTime);  // 2019-06-10 17:32:05


二、将 java.util.Date 格式转换成 java.sql.Date 格式

1

2

3

4


Date date = new Date();

long longTime = date.getTime();  // 2019061017320511

java.sql.Date sDate = new java.sql.Date(longTime);

System.out.println(sDate);  // 2019-06-10


三、将 java.util.Date 格式转换成 Timestamp 格式

1

2

3


Date date = new Date();

Timestamp timestamp = new Timestamp(date.getTime());

System.out.println(timestamp);  // 2019-06-10 17:32:05.11


四、将 String 格式转换成 java.util.Date 格式

1

2

3

4

5

6

7

8

9


String strTime = "2019-06-10 17:32:05";

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date date = null;

try {

date = simpleDateFormat.parse(strTime);

} catch (ParseException e) {

e.printStackTrace();

}

System.out.println(date);  // Mon Jun 10 17:32:05 GMT+08:00 2019