常用类Date
java提供了Date类来处理日期、时间(此处的Date是指java.util包下的Date类,而不是java . sql包下的Date类),Date对象既包含日期,也包含时间。
Date类从JDK1.0起就开始了,因为它历史悠久,所以它的大部分构造器、方法都已经过时,不再推荐使用了。
构造器
Date() 分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
例:Date date=new Date();
Date(long date) 分配Date对象并初始化此对象,以表示自从标准基准时间1970年1月1日00:00:00 GMT
例:Date date1=new Date(System.currentTimeMillis()+60000L);
方法
方法 (形参) 说明
after(Date when) 测试此日期是否在指定日期之后。返回值类型为boolean
例:date.after(date1);
before(Date when)测试此日期是否在指定日期之前。返回值类型为boolean
例:date.before(date1);
clone() 返回自对象的副本。返回值类型为Object
int compareTo(Date anotherDate) 比较两个日期的顺序
例:date.compareTo(date1);
注:前面这个减后面这个,如果返回-1就代表前面这个在后面这个之前;如果返回0就代表相等;返回1就代表前面这个在后面这个之后
equals(Object obj) 比较两个日期的相等性。返回值类型为boolean
例:date.equals(date1)
getTime()返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。返回值类型为long
例:long lDate=date.getTime();
setTime(long time) 设置Date对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点。返回值类型为void
例:date.setTime(System.currentTimeMillis()+1000000L);
常用类 Calendar
Calendar是抽象类,没有构造器。Java中进行时间计算相关的主要的类。
由于 Date类过于古老,许多的构造器和方法都已经过时。java推荐使用Calendar来完成时间计算操作。
Calendar类中关于时间的属性
常量 | 描述 |
Calendar.YEAR | 年份 |
Calendar.MONTH | 月份 |
Calendar.DATE | 日期 |
Calendar.DAY_OF_MONTH | 日期,和上面的字段意义完全相同 |
Calendar.HOUR | 12小时制的小时 |
Calendar.HOUR_OF_DAY | 24小时制的小时 |
Calendar.MINUTF | 分钟 |
Calendar.SECOND | 秒 |
Calendar.DAY_OF_WEEK | 星期几 |
常用方法
getInstance() 使用默认时区和语言环境获得一个日历。
例:Calendar calendar=Calendar.getInstance();
get(int field) 返回给定日历字段的值。
例:calendar.get(Calendar.YEAR);//获取年份
calendar.get(Calendar.DAY_OF_WEEK));//获取星期 从星期日开始
set(int field,int value)将给定的日历字段设置为给定值。该方法有多个重载。
例:calendar.set(Calendar.YEAR,2020);
add(int field,int amount)根据日历的规则,为给定的日历字段添加或减去指定的时间量。
例:calendar.add(Calendar.YEAR,-10);//添加为正数,减少为负数
roll(int field,int amount)向指定日历字段添加指定(有符号的)时间量,不更改更大的字段。
例:calendar.roll(Calendar.DAY_OF_MONTH,30);
getTime() 返回一个表示此Calender时间值(从历元至现在的毫秒偏离量)的Date对象。
例:calendar.getTime().toString()
setTime(Date date) 使用给定的Date设置此Calendar的时间。
Calendar转String
Calendar要转为字符串在实际使用中要先转为Date再 转为String
代码如下:
calendar.setTime(new Date());//传当前时间
Date date= calendar.getTime();//获取
System.out.println(date);//
System.out.println(calendar.toString());