Mysql中經(jīng)常用來(lái)存儲(chǔ)日期的數(shù)據(jù)類(lèi)型有三種:Date、Datetime、Timestamp。
成都創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供雁江網(wǎng)站建設(shè)、雁江做網(wǎng)站、雁江網(wǎng)站設(shè)計(jì)、雁江網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、雁江企業(yè)網(wǎng)站模板建站服務(wù),十多年雁江做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
Date數(shù)據(jù)類(lèi)型:用來(lái)存儲(chǔ)沒(méi)有時(shí)間的日期。Mysql獲取和顯示這個(gè)類(lèi)型的格式為“YYYY-MM-DD”。支持的時(shí)間范圍為“1000-00-00”到“9999-12-31”。
Datetime類(lèi)型:存儲(chǔ)既有日期又有時(shí)間的數(shù)據(jù)。存儲(chǔ)和顯示的格式為 “YYYY-MM-DD HH:MM:SS”。支持的時(shí)間范圍是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。
Timestamp類(lèi)型:也是存儲(chǔ)既有日期又有時(shí)間的數(shù)據(jù)。存儲(chǔ)和顯示的格式跟Datetime一樣。支持的時(shí)間范圍是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。
所有不符合上面所述格式的數(shù)據(jù)都會(huì)被轉(zhuǎn)換為相應(yīng)類(lèi)型的0值。(0000-00-00或者0000-00-00 00:00:00)
java中有date和datetime,mysql中也有date和datetime,這里我們來(lái)說(shuō)說(shuō)mysql中的date和datetime。
1 mysql中的date和datetime
1.1 DATETIME
類(lèi)型可用于需要同時(shí)包含日期和時(shí)間信息的值。MySQL 以:
‘YYYY-MM-DD HH:MM:SS’
格式檢索與顯示 DATETIME 類(lèi)型。支持的范圍是:
‘1000-01-01 00:00:00’
到
‘9999-12-31 23:59:59’。
(“支持”的含義是,盡管更早的值可能工作,但不能保證他們均可以。)
1.2 DATE
類(lèi)型可用于需要一個(gè)日期值而不需要時(shí)間部分時(shí)。MySQL 以
‘YYYY-MM-DD’
格式檢索與顯示DATE值。支持的范圍則是
‘1000-01-01’
到
‘9999-12-31’。
2 與java數(shù)據(jù)的交互
能看出來(lái)mysql中的date和datetime區(qū)別還是挺大的,date沒(méi)有保存時(shí)間。但是java中的date(java.util.Date)記錄的還是挺細(xì)的,日期和時(shí)間都可以記下來(lái),那么現(xiàn)在問(wèn)題來(lái)了,如果想在mysql中存儲(chǔ)日期和時(shí)間,也就是用datetime,而在數(shù)據(jù)中應(yīng)該如何對(duì)應(yīng)呢?
我使用hibernate測(cè)了一下,發(fā)現(xiàn)當(dāng)把mysql數(shù)據(jù)庫(kù)中設(shè)置了datetime,反向工程生成的hbm.xml文件中,使用的是timestamp,如下:
property name="Publishdate" column="publishdate" type="timestamp" not-null="false" length="10" /1
反向生成java的pojo時(shí),生成的還是Date。
由此可見(jiàn)對(duì)于mysql中datetime,與java中的date,如果要使二者正確交互,中間要使用timestamp。
如果要在JAVA中直接插入MySql的datetime類(lèi)型,則可以使用:
Date date = new Date();
Timestamp timeStamp = new Timestamp(date.getTime());12
再用setTimestamp()設(shè)置數(shù)據(jù)庫(kù)中的“日期+時(shí)間”。
這樣放入數(shù)據(jù)庫(kù)的就是“yyyy-mm-dd hh:mm:ss”格式的數(shù)據(jù)。
注意,mysql中如果使用date而不是datetime是保存不下“日期+時(shí)間”的,只能保存“時(shí)間”。
insert into 替換成你的表名 (name,date,value) values ('魂?duì)繅?mèng)縈','2009-06-08 23:53:17','朝秦暮楚');
如果你是直接在Mysql中操作的話,建議你用下navcait for mysql,他界面操作完成后有一個(gè)查看代碼,這樣你既可以達(dá)到想要的功能,有能很快學(xué)到不懂的sql語(yǔ)句
新聞標(biāo)題:mysql日期怎么打,mysql等于今天的日期
網(wǎng)頁(yè)URL:http://www.muchs.cn/article18/hcppdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷(xiāo)推廣、域名注冊(cè)、關(guān)鍵詞優(yōu)化、ChatGPT、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容