• 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日


    ---------------------------------------------------------------------------------------  
      
  • 相关阅读:
    windows下使用C#获取特定进程网络流量
    .NET设计模式(9):桥接模式(Bridge Pattern)(转)
    .NET设计模式(8):适配器模式(Adapter Pattern)(转)
    .NET设计模式(7):创建型模式专题总结(Creational Pattern)(转)
    .NET设计模式(6):原型模式(Prototype Pattern)(转)
    .NET设计模式(5):工厂方法模式(Factory Method)(转)
    .NET设计模式(4):建造者模式(Builder Pattern)(转)
    .NET设计模式(3):抽象工厂模式(Abstract Factory)(转)
    单件模式(Singleton Pattern)(转)
    PowerDesigner(九)-模型文档编辑器(生成项目文档)(转)
  • 原文地址:https://www.cnblogs.com/codeToSuccess/p/13906265.html
Copyright © 2020-2023  润新知