Java中有兩個(gè)Date類壁拉,一個(gè)是java.util.Date通常情況下用它獲取當(dāng)前時(shí)間或構(gòu)造時(shí)間,另一個(gè)是java.sql.Date是針對(duì)SQL語(yǔ)句使用的豪直,它只包含日期而沒有時(shí)間部分块差。兩個(gè)類型的時(shí)間可以相互轉(zhuǎn)化竞惋。
- util.Date轉(zhuǎn)sql.Date
Date utilDate = new Date();//util.Date
System.out.println("utilDate : " + utilDate);
//util.Date轉(zhuǎn)sql.Date
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
System.out.println("sqlDate : " + sqlDate);
運(yùn)行結(jié)果:從運(yùn)行結(jié)果看到util.date轉(zhuǎn)成sql.date之后试溯,只有年月日蔑滓,沒有時(shí)分秒。下面給大家看點(diǎn)東西就知道為什么會(huì)這樣了
java.sql包下給出三個(gè)與數(shù)據(jù)庫(kù)相關(guān)的日期時(shí)間類型:
Date:表示日期遇绞,只有年月日键袱,沒有時(shí)分秒。會(huì)丟失時(shí)間试读;
Time:表示時(shí)間杠纵,只有時(shí)分秒,沒有年月日钩骇。會(huì)丟失日期;
Timestamp:表示時(shí)間戳,有年月日時(shí)分秒倘屹,以及毫秒银亲。
Date utilDate = new Date();//util utilDate
System.out.println("utilDate : " + utilDate);
Timestamp sqlDate = new Timestamp(utilDate.getTime());//uilt date轉(zhuǎn)sql date
System.out.println("sqlDate : " + sqlDate);
運(yùn)行結(jié)果:這樣就有時(shí)分秒了
sql.Date轉(zhuǎn)util.Date
觸類旁通,就直接上代碼了
System.out.println("*********util.Date轉(zhuǎn)sql.Date*********");
Date utilDate = new Date();//util.Date
System.out.println("utilDate : " + utilDate);
Timestamp sqlDate = new Timestamp(utilDate.getTime());//util.Date轉(zhuǎn)sql.Date
System.out.println("sqlDate : " + sqlDate);
System.out.println("*********sql.Date轉(zhuǎn)util.Date*********");
System.out.println("sqlDate : " + sqlDate);
Date date = new Date(sqlDate.getTime());//sql.Date轉(zhuǎn)util.Date
/*
java.util.Date date = new java.util.Date(sqlDate.getTime());
*/
System.out.println("utilDate : " + date);
運(yùn)行結(jié)果:同時(shí)util.Date和sql.Date都可以用SimpleDateFormat格式化
Date utilDate = new Date();//uilt.Date
System.out.println("utilDate : " + utilDate);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("format : " + format.format(utilDate));
System.out.println("**********************************************");
Timestamp sqlDate = new Timestamp(utilDate.getTime());//uilt.Date轉(zhuǎn)sql.Date
System.out.println("sqlDate : " + sqlDate);
System.out.println("format : " + format.format(sqlDate));
運(yùn)行結(jié)果: