摘要:如何將類型插入數(shù)據(jù)庫中,成為好多人的一個不小的障礙。當(dāng)然,并不一定要在外部插入時間,因為在數(shù)據(jù)庫中,可以讓它自動插入,比如里面,用來插入當(dāng)前時間,而在時,便可以不用管它了。但有的時候還是避免不了,要手工插入時間,以更新數(shù)據(jù)庫。
在JDK 1.1后,java.util.Date 類型的大多數(shù)方法已經(jīng)不推薦使用了。代替它的是Calendar。
而在java.sql.Date 和 java.util.Date之間,有些微妙的關(guān)系。
如何將Date類型插入數(shù)據(jù)庫中,成為好多人的一個不小的障礙。
當(dāng)然,并不一定要在外部插入時間,因為在數(shù)據(jù)庫中,可以讓它自動插入,比如:MSSQL里面,用getdate()來插入當(dāng)前時間,而在Insert時,便可以不用管它了。但有的時候還是避免不了,要手工插入時間,以更新數(shù)據(jù)庫。
1、java.util.Calendar 格式化時間
Calendar cal = new GregorianCalendar();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH)+1;
int day = cal.get(Calendar.DAY_OF_MONTH);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
String week = "";
switch(dayOfWeek) {
case 1:
week = "星期天"; break;
case 2:
week = "星期一"; break;
case 3:
week = "星期二"; break;
case 4:
week = "星期三"; break;
case 5:
week = "星期四"; break;
case 6:
week = "星期五"; break;
default:
week = "星期六"; break;
int hour = cal.get(Calendar.HOUR_OF_DAY); // 24小時制
// int hour = cal.get(Calendar.HOUR); // 12小時制
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
String h,m,s;
if(hour<10) h = "0"+hour; else h = hour+"";
if(minute<10) m = "0"+minute; else m = minute+"";
if(second<10) s = "0"+second; else s = second+"";
在JSP中輸出是:
今天是: 年月日 ::
結(jié)果: 今天是: 2006年4月14日星期五 05:35:26
2、在數(shù)據(jù)庫中插入時間
PreparedStatement ps = con.prepareStatement("insert into TableName(dAddTime) values(?)");
這里有三種方式:
1) ps.setDate(1,new java.sql.Date(System.currentTimemillis()));
2) ps.setTime(2,new java.sql.Time(System.currentTimemillis()));
3) ps.setTimestamp(3,new java.sql.Timestamp(System.currentTimemillis()));
第一種只插入年月日 0000-00-00
第二種只插入時間 00:00:00
第三種則插入完整的時間 0000-00-00 00:00:00.000 .000是毫秒數(shù)。
3、取出數(shù)據(jù)庫時間
通常只有兩種:
1) getDate(String colname); // 取出日期 格式:0000-00-00
2) getTimestamp(String colname); // 取出日期和時間 格式:0000-00-00 00:00:00.000
3) getTime(String colname); // 只取出時間部份 格式:00:00:00 幾乎不用,因為沒有人只會取出時間,而不用日期。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/64171.html
在java開發(fā)過程中經(jīng)常會遇到統(tǒng)計某一天或是某一個月的數(shù)據(jù),因此常常需要獲取截取數(shù)據(jù)的兩個時間戳(比如統(tǒng)計今天的數(shù)據(jù),則需要獲取一個開始時間為今天零點以及一個結(jié)束時間為明天零點),然后根據(jù)數(shù)據(jù)相關(guān)的時間是否在該時間區(qū)間內(nèi)來判斷是否將其計入統(tǒng)計數(shù)據(jù)中。 話不多說,首先我們先拿上面的例子說起吧。如何獲取今天零點以及明天零點的兩個時間戳。 public Long getToday(){ ...
摘要:表示連接已經(jīng)成功建立。在這個狀態(tài)下,應(yīng)用程序還有接受數(shù)據(jù)的能力,但是已經(jīng)無法發(fā)送數(shù)據(jù)。表示收到了對方的報文,并發(fā)送出了報文。狀態(tài)下的連接會等待罕見的狀態(tài)。在窗口中還沒有發(fā)出的接收方還有空間。進程的親緣關(guān)系通常是指父子進程關(guān)系。 前言 只有光頭才能變強 本文力求簡單講清每個知識點,希望大家看完能有所收獲 一、如何減少線程上下文切換 使用多線程時,不是多線程能提升程序的執(zhí)行速度,使用多線程...
閱讀 1646·2023-04-25 18:27
閱讀 1399·2021-10-19 11:44
閱讀 575·2021-10-14 09:42
閱讀 2150·2021-10-11 10:59
閱讀 2784·2021-09-24 09:47
閱讀 1730·2019-08-30 14:20
閱讀 1165·2019-08-30 14:08
閱讀 742·2019-08-29 15:15