Java中日期的处理

时间:2021-07-15 23:58:09

    一、具体的调整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);

             方法5:进行string 到date的转换,流程如下:

    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.可用的包:

                             Java中日期的处理                              Java中日期的处理

     主要还是几者的关系要弄好:

    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了,但是,无奈啊!!