JAVA的Date类

类Date


/-------------------------以下大部分内容摘自jdk1.6API------------------------------------/
    util包下的Date类:java.util.Date,其子类有java.sql.Date


    类 Date 表示特定的瞬间,精确到毫秒。 

在类Date所有可以接受或返回年、月、日期、小时、分钟和秒值的方法中,将使用下面的表示形式: 


.年份 y 由整数 y - 1900 表示。 
.月份由从 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。 
.日期(一月中的某天)按通常方式由整数 1 至 31 表示。 
.小时由从 0 至 23 的整数表示。因此,从午夜到 1 a.m. 的时间是 0 点,从中午到 1 p.m.   的时间是 12 点。 
.分钟按通常方式由 0 至 59 的整数表示。 
.秒由 0 至 61 的整数表示;值 60 和 61 只对闰秒发生,尽管那样,也只用在实际正确跟踪闰秒的 Java 实现中。于按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,但此规范遵循 ISO C 的日期和时间约定。 


在所有情形中,针对这些目的赋予方法的参数不需要在指定的范围内;例如,可以把日期指定为 1 月 32 日,并把它解释为 2 月 1 日的相同含义。 





/*Date的许多方法已过时,被 java.util.Calendar 所取代。
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。 */






一、构造方法:
  Date date=new Date();
  System.out.println(date);输出当前系统时间
  
例:Thu Dec 21 19:07:46 CST 2017


  Date(int year, int month, int date) 
          已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date) 或 GregorianCalendar(year + 1900, month, date) 取代。 
  Date(int year, int month, int date, int hrs, int min) 
          已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min) 或 GregorianCalendar(year + 1900, month, date, hrs, min) 取代。 
  Date(int year, int month, int date, int hrs, int min, int sec) 
          已过时。 从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min, sec) 或 GregorianCalendar(year + 1900, month, date, hrs, min, sec) 取代。 


例:  Date date=new Date(1,0,1,12,60,61);
System.out.println(date);  
     输出:Tue Jan 01 13:01:01 CST 1901
    *年为1900年+输入的年份,月为1+输入的月份(从0开始,0-11),超出范围会自动加到前面。
 
  Date(long date) 
          分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。 
  Date(String s) 
          已过时。 从 JDK 1.1 开始,由 DateFormat.parse(String s) 取代。 




二、常用方法:


     boolean after(Date when) 
          测试此日期是否在指定日期之后。 
     boolean before(Date when) 
          测试此日期是否在指定日期之前。 
     int compareTo(Date anotherDate) 
          比较两个日期的顺序。返回—1为在anotherDate前,0为相等,1为在anotherDate后。
     boolean equals(Object obj) 
          比较两个日期的相等性。 
  
     int getDate() //返回日
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_MONTH) 取代。 
     int getDay() //返回星期(1-6为星期1-6,0为星期日)
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.DAY_OF_WEEK) 取代。 
     int getHours() //返回小时
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.HOUR_OF_DAY) 取代。 
     int getMinutes() //返回分钟
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.MINUTE) 取代。 
     int getMonth() //返回月-1(0-11)
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.MONTH) 取代。 
     int getSeconds() //返回秒
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.SECOND) 取代。 
     long getTime() //返回毫秒
          返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 
     int getYear() //返回年-1900
          已过时。 从 JDK 1.1 开始,由 Calendar.get(Calendar.YEAR) - 1900 取代。 
     void setDate(int date) 
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.DAY_OF_MONTH, int date) 取代。 
     void setHours(int hours) 
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.HOUR_OF_DAY, int hours) 取代。 
     void setMinutes(int minutes) 
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.MINUTE, int minutes) 取代。 
     void setMonth(int month) 
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.MONTH, int month) 取代。 
     void setSeconds(int seconds) 
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.SECOND, int seconds) 取代。 
     void setTime(long time) 
          设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点。 
     void setYear(int year) 
          已过时。 从 JDK 1.1 开始,由 Calendar.set(Calendar.YEAR, year + 1900) 取代。 
     String toString() 
          把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。 


---------------------------------------------------------------------------------------

例题:

  按照"yyyy年MM月dd日"的格式在控制台输出距当前时间10天后的时间。


package t1;


import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


public class date {
  public static void main(String[] args) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
Date d=new Date();
Calendar c=Calendar.getInstance();
c.setTime(d);
c.add(Calendar.DATE, 10);
System.out.println(sdf.format(c.getTime()));

  }
}
  
  
当前输出:2017年12月31日


---------------------------------------------------------------------------------------  
  
posted @ 2017-12-21 22:56  codeToSuccess  阅读(134)  评论(0编辑  收藏  举报