更新時(shí)間:2018-12-26 來源:黑馬程序員技術(shù)社區(qū) 瀏覽量:
本技術(shù)文章是對MySql和Java時(shí)間類型詳細(xì)解答,如果有需要的同學(xué)可以花時(shí)間去看一下,MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng)它與java中與之對應(yīng)的時(shí)間類型為
date java.sql.Date
Datetime java.sql.Timestamp
Timestamp java.sql.Timestamp
Time java.sql.Time
Year java.sql.Date
對其進(jìn)行分析
參考MySql 的reference manual
Date:
A date. The supported range is '1000-01-01' to '9999-12-31'. MySQL displays DATE values in 'YYYY-MM-DD' format, but allows you to assign values to DATE columns using either strings or numbers.
只記錄日期信息,表示范圍為1000-01-01 至 9999-12-31。
MySql 按照YYYY-MM-DD 的方式進(jìn)行該類字段的顯示。添加該類字段數(shù)據(jù),即可以使用字符串類型,也可以使用數(shù)字類型
由于Date類型的字段只記錄日期信息,所以如果添加的數(shù)據(jù)中包含了時(shí)間信息,該時(shí)間信息將會(huì)自動(dòng)被截?cái)唷?/p>
如果要保存時(shí)間信息,可以考慮使用DateTime類型。
經(jīng)過測試,發(fā)現(xiàn)如下2種方式可以對Date類型字段進(jìn)行填充:
按字符串:
insert into time_table(CreateDate) values(‘2007-04-09’)
按數(shù)字:
insert into time_table(CreateDate) values(20070409)
獲取可以用java.sql.Date類型獲取
代碼為:
Date dtDate =rsBuffer.getDate("CreateDate");
測試代碼如下:(其中,IDBFace 是自己基于JDBC封裝的一個(gè)簡單類, 接受Sql對數(shù)據(jù)庫進(jìn)行操作)
public void testDate()throws SQLException
{
IDBFace DBFace =DBFactory.createMySqlFace();
DBFace.connect();
//清空表
String strDelete ="delete from time_table";
DBFace.update(strDelete);
//添加
String strInsert ="insert into time_table(CreateDate) values(20070409)";
DBFace.update(strInsert);
//獲取
String strSelect ="select * from time_table";
ResultSet rsBuffer =DBFace.select(strSelect);
while(rsBuffer.next())
{
Date dtDate =rsBuffer.getDate("CreateDate");
System.out.println(dtDate.toString());
}
DBFace.close();
}
執(zhí)行結(jié)果: 2007-04-09
DateTime
A date and time combination. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'. MySQL displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format, but allows you to assign values to DATETIME columns using either strings or numbers.
DateTime 與Date最主要的區(qū)別在于:DateTime 可以記錄日期和時(shí)間信息。而Date只記錄日期信息。表示范圍為: 1000-01-01 00:00:00 至 9999-12-31 23:59:59 MySql的按照YYYY-MM-DD HH:MM:SS對數(shù)據(jù)進(jìn)行格式化,允許以字符串和數(shù)字的方式提交。
例如以數(shù)字的方式進(jìn)行提交:
insert into time_table(CreateDate) values(20070409132013)
獲取該類型的數(shù)據(jù)可以使用:java.sql.Timestamp類型
代碼如下:
public void testDateTime() throws SQLException
{
IDBFace DBFace =DBFactory.createMySqlFace();
DBFace.connect();
//清空表
String strDelete ="delete from time_table";
文章來源 :
作者:黑馬程序JavaEE培訓(xùn)學(xué)院
首發(fā):http://java.itheima.com/?v2
【AI設(shè)計(jì)】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計(jì)連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營】深圳跨境電商運(yùn)營畢業(yè)22個(gè)工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個(gè)工作日,班級93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19【AI大模型開發(fā)-Python】畢業(yè)33個(gè)工作日,就業(yè)率已達(dá)到94.55%,班均薪資20763元
2025-09-19【AI智能應(yīng)用開發(fā)-Java】畢業(yè)5個(gè)工作日就業(yè)率98.18%,最高薪資 17.5k*13薪,全班平均薪資9244元
2025-09-19