Java Date类

在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。

构造函数

  1. //使用系统当前时间创建日期对象  
  2. Date()  
  3. //表示从标准基准时间(称为"历元(epoch)")即1970年1月1日00:00:00GMT以后的指定毫秒数创建日期对象  
  4. Date(long date)  
  5. //创建指定年、月、日的日期对象。已过时,从JDK1.1开始被Calendar.set(year+1900,month,date)或者GregorianCalendar(year + 1900,month,date)取代  
  6. Date(int year, int month, int date)  
  7. //创建指定年、月、日、时、分、秒的日期对象。已过时从JDK1.1开始,由Calendar.set(year+1900,month,date,hrs,min,sec)或则GregorianCalendar(year + 1900,month,date,hrs,min,sec)取代;  
  8. Date(int year, int month, int date,  
  9. int hrs, int min, int sec)  

常用方法

  1. //如果当前日期对象在when指定的日期对象之后,返回true,否则返回false  
  2. boolean after(Date when)  
  3. //如果当前日期对象在when指定的日期对象之前,返回true,否则返回false  
  4. boolean before(Date when)  
  5. //设置此Date对象,以表示1970年1月1日00:00:00GMT以后time毫秒的时间点  
  6. void setTime(long time)  
  7. //获取自1970年1月1日00:00:00GMT以来此Date对象表示的毫秒数。  
  8. long getTime()  
  9. //判断两个日期是否完全相同  
  10. boolean equals(Object obj)  
  11. //返回日期的格式化字符串,包括星期几  
  12. String toString()  

类型转换例子

   1.直接创建Date数据类型的实例变量date并直接将其输出: 
    /** 
    * 创建Date类型的变量 this is date :Sat Dec 06 00:26:54 CST 2008 
    * 程序运行过程中直接将当前的时间打印出来 
    */ 
    Date date = new Date(); 
    System.out.println("this is date :" + date); 

    2.将直接实例化的Date数据以String的方式进行输出: 
    ** 
    * 实例方法toString() Sat Dec 06 00:26:54 CST 2008 
    * 其实效果也是和程序的直接输出一样只不过将输出的参数类型改变成为String的类型。 
    */ 
    String str_date = date.toString(); 
    System.out.println("this is date_ str :" + str_date); 

    3.采用DateFormat()方法格式化或者过滤所需要的数据参数: 
    /** 
    * 方法 :DateFormat.getInstance() 输出 :08-12-6 上午12:26 
    * DateFormat()方法将日期格式化,格式输出到当前日的分上面。 
    */ 
    String str_date_1 = DateFormat.getInstance().format(date); 
    System.out.println("this is str_date_1 :" + str_date_1); 

    4.采用SimpleDateFormat()方法格式化或者过滤所需要的数据参数: 
    /** 
    * 方法 :SimpleDateFormat() 输出 :2008 12 06 00 26 54 
    * SimpleDateFormat()放法和DateFormat()类似他可以直接制定到当前日期的某一阶段 例如实例指定当前的秒钟。 
    */ 
    SimpleDateFormat time = new SimpleDateFormat("yyyy MM dd HH mm ss"); 
    System.out.println("this is SimpleDateFormat :" + time.format(date)); 

    5.采用MessageFormat()方法格式化或者过滤所需要的数据参数: 
    /** 
    * 方法 : MessageFormat() 输出 :2008-12-06-00-26:54:2654 
    */ 
    String dateTime = MessageFormat.format( 
    "{0,date,yyyy-MM-dd-HH-mm:ss:ms}", 
    new Object[] { new Java.sql.Date(System.currentTimeMillis()) }); 
    System.out.println("this is Message datetime :" + dateTime); 

    /** 
    * 方法 : MessageFormat() 输出 :2008-12-06-00-26:54:2654 
    */ 
    String dateTime = MessageFormat.format( 
    "{0,date,yyyy-MM-dd-HH-mm:ss:ms}", 
    new Object[] { new java.sql.Date(System.currentTimeMillis()) }); 
    System.out.println("this is Message datetime :" + dateTime); 

    6.采用SimpleDateFormat()方法格式化或者过滤所需要的数据参数: 
    /** 
    * 方法 : SimpleDateFormat() 输出 : 2008-12-06 
    * 类似于前面所讲到的SimpleDateFormat()方法、其实原理都是相同的只不过在处理过程中采用别的附加条件。 
    * 
    */ 
    SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd"); // 格式化当前系统日期 
    String dateTime_1 = dateFm.format(new java.util.Date()); 
    System.out.println("this is SimpleDateFormat :" + dateTime_1); 

    7.采用DateFormat()方法格式化得到你所需要的Date参数: 
    /** 
    * 方法 :DateFormat() 
    * 通过DateFormat()方法所控制的不同参数来显示当前日期时间 
    */ 
    //简略的将当前日期时间显示出来 
    DateFormat shortDateFormat = DateFormat.getDateTimeInstance( 
    DateFormat.SHORT, DateFormat.SHORT); 
    System.out.println(shortDateFormat.format(date)); 

    //精确地显示当前日期时间 
    DateFormat mediumDateFormat = DateFormat.getDateTimeInstance( 
    DateFormat.MEDIUM, DateFormat.MEDIUM); 
    System.out.println(mediumDateFormat.format(date)); 

    //完全的将当前的日期时间显示出来 
    DateFormat longDateFormat = DateFormat.getDateTimeInstance( 
    DateFormat.LONG, DateFormat.LONG); 
    System.out.println(longDateFormat.format(date)); 

    //全部标准化的将当前日期时间按输出出来。 
    DateFormat fullDateFormat = DateFormat.getDateTimeInstance( 
    DateFormat.FULL, DateFormat.FULL); 
    System.out.println(fullDateFormat.format(date)); 


版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。