一、具體的調整java日期的幾種情況:
方法1.拿出日期。
Date d = rs.getDate("pDate");
SimpleDateFormat sdf = new SimpleDateForme("yyyy-MM-dd ")
Print(sdf.format(d))
方法2.拿到具體的月份,或年份
Date d = rs.getDate("pDate");
Calendar c = Calendar.getInstance();
c.setTime(d);
Print(c.get(Calendar.MONTH))//MONTH是calendar中的一個屬性,直接取就可以;
相反,calendar中的構造函數反倒要調用getInstance()來實現初始化。。
方法3.把日期與時間同時拿出來
Timestamp ts = rs.getTimestamp("pDate");
SimpleDateFormat sdf = new SimpleDateForme("yyyy-MM-dd ")
Print(sdf.format(ts))
方法4:時區的獲取
String s = "2012-12-30 12:23:23.0";
Timestamp ts = Timestamp.valueOf(s);
Calendar cJap = new GregorianCalendar(TimeZone.getTimeZone("Japan"));
cJap.setTime(ts);
System.out.println(ts);
String s = "2012-12-30 12:23:23.0";
Timestamp ts = Timestamp.valueOf(s);
Calendar c = Calendar.getInstance();
c.setTime(ts);
System.out.println(ts);
System.out.println(c.get(Calendar.YEAR));
Calender.MOUTH會少1,沒找到原因。。。
二、有關日期整體的知識點
1.UTC/UT/GMT分別是:世界時,世界時的科學說法,格林威治時間,當前這三者都是一樣的
2.可用的包:
主要還是幾者的關係要弄好:
Util.Date是最基礎的一個類,下面的sql.date.sql,time,dql.timestamp都繼承自這個類;
輔助類1:格式化:dataformat,其中最常用的是其具體實現類:simpledataformat,實現格式的轉換,格式類型自己定義,使用如:
SimpleDateFormat sdf = new SimpleDateForme("yyyy-MM-dd ")
Print(sdf.format(ts))
輔助類2:calendar用來進行具體日期的操作,如得到具體的日,月,年這種屬性信息,或者時區信息;使用如下:
Calendar c = Calendar.getInstance();
c.setTime(d);
Print(c.get(Calendar.MONTH))
輔助類3:時區:
Timestamp ts = Timestamp.valueOf(s);
Calendar cJap = new GregorianCalendar(TimeZone.getTimeZone("Japan"));
cJap.setTime(ts);
剛剛做測試的時候發現,用Junit的時候,類中的方法要用@Test 方法名一定要寫testXXX()纔行,不然會報錯找不到方法!
這樣設計好像不太合理啊。。因爲我都標了@Test了,但是,無奈啊!!