一、具体的调整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了,但是,无奈啊!!