Date Calendar SimpleDateFormat

Date:

Date类负责时间的表示,在计算机中,时间的表示是一个较大的概念,现有的系统基本都是利用从1970.1.1 00:00:00 到当前时间的毫秒数进行计时,这个时间称为epoch。在后文中如果没有明确说明,毫秒数就是指从1970年到对应时间的毫秒数。在Java 的Date类内部其实也是一个毫秒数,对外表现为一个Date对象。

常用的构造方法:

Date( );
Date(long date);

常用的方法:

1    boolean after(Date date)
如果调用Date对象包含或晚于指定的日期则返回true,否则,返回false。
2    boolean before(Date date)
如果调用Date对象包含或早于日期指定的日期返回true,否则,返回false。
3    int compareTo(Date date)
比较日期的调用对象的值。如果这两个值相等返回0。如果调用对象是早于日期返回一个负值。如果调用对象最迟日期返回正值。
4    int compareTo(Object obj)
操作以相同的compareTo(Date) 如果obj是一个类日期。否则,它会抛出一个ClassCastException。
5    long getTime( )
返回自1970年1月1日起已经过的毫秒数。
6    void setTime(long time)
设置所指定的时间,这表示经过时间以毫秒为单位,1970年1月1日从午夜的时间和日期

Calendar:
Calendar本身是一个抽象类,不能直接实例化,但是Calendar类提供一个工厂方法,即getInstance来创建一个Calendar实例,它实际运行时使用的是java.util.GregorianCalendar。它通过setTime()设定一个Calendar内部的毫秒数,之后就可以对这个毫秒数进行分析,进而得到它的年月日信息。同时,我们也可以对Calendar直接设定年月日属性,从而获取对应的Date对象。

 这里是由GregorianCalendar类提供一些有用的支持方法的列表:

方法和描述
1    void add(int field, int amount) 
添加指定(有符号的)时间量,以给定的时间字段,基于日历的规则。
2    protected void computeFields() 
将UTC转换为毫秒时间字段值.
3    protected void computeTime() 
覆盖日历转换时间域值为UTC的毫秒.
4    boolean equals(Object obj) 
比较这个GregorianCalendar的一个对象引用.
5    int get(int field) 
获取给定时间域的值.
6    int getActualMaximum(int field) 
返回该字段可能的最大值,考虑到当前的日期.
7    int getActualMinimum(int field) 
返回该字段可以具有的最低值,给定当前的日期.
8    int getGreatestMinimum(int field) 
对于给定的字段中返回高最低值(如果有变化).
9    Date getGregorianChange() 
获取公历更改日期.
10    int getLeastMaximum(int field) 
对于给定的字段返回最低的最大值(如果有变化).
11    int getMaximum(int field) 
返回给定字段中的最大值.
12    Date getTime()
获取日历的当前时间.
13    long getTimeInMillis() 
获取日历的当前时间长.
14    TimeZone getTimeZone() 
获取时区.
15    int getMinimum(int field) 
返回给定字段中的最小值.
16    int hashCode() 
重写hashCode.
17    boolean isLeapYear(int year)
确定给定年份是闰年.
18    void roll(int field, boolean up) 
加上或减去(上/下)的时间在给定的时间字段一个单元,不更改更大的字段.
19    void set(int field, int value) 
设置时间字段与给定值.
20    void set(int year, int month, int date) 
设置为年,月,日的值.
21    void set(int year, int month, int date, int hour, int minute) 
设置为年,月,日,小时和分钟值.
22    void set(int year, int month, int date, int hour, int minute, int second) 
设置为字段的年,月,日,小时,分钟和秒的值.
23    void setGregorianChange(Date date) 
设置GregorianCalendar更改日期.
24    void setTime(Date date) 
设置日历的当前时间与给定日期.
25    void setTimeInMillis(long millis) 
从给定long值设置日历的当前时间.
26    void setTimeZone(TimeZone value) 
将时区设置与给定的时区值.
27    String toString() 
返回此日历的字符串表示形式.

SimpleDateFormat:

使用构造方法:

SimpleDateFormat() 
构造一个 SimpleDateFormat使用默认模式和日期格式符号为默认的 FORMAT区域设置。  
SimpleDateFormat(String pattern)  //例:SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

常用的两个方法:

Date parse(String source);//例:Date date = sdf.parse("2018-08-30");无法解析时报java.text.ParseException。

String format(Date date);//String dateStr=sdf.format(new Date());

猜你喜欢

转载自blog.csdn.net/Betty_betty_betty/article/details/82354804