1. java.util包概述
java.util包中放置了Java开发过程中常用的工具类,如日期时间类,日历类等等。
2. java.util包常用类
- Date;
- Calendar及其子类;
- 集合接口以及实现类;
- 集合工具类;
- 数组工具类等等。
3. java.util.Date类
3.1. Date概述
Date类表示特定的时间,可以精确到毫秒。
3.2. Date类的构造方法
Date() 无参构造方法;
Date(long time) 有长整形参数的构造方法;
其他构造方法已经废弃不用。
3.3. Date类常用方法
long getTime();返回从1970 年 1 月 1 日 00:00:00 GMT 到现在的毫秒数;
String toString();将Date对象转换为字符串,默认的转换格式为:dow mon dd hh:mm:ss zzz yyyy。
示例
1. 在用Date类时必须导入该类 import java.util.Date;
2. 1553899026141L是利用getTime()获取的毫秒数,该输出的时间会与上一次利用new Date()获取的当前时间是一样的。(dt2)
Date dt = new Date();//指定系统当前时间
System.out.println(dt);
System.out.println(dt.toString());
System.out.println(new Date());
无参构造方法会输出当前时间,上面代码3个输出函数的效果都一样,new Date()就是创建一个对象,dt对象用于输出时默认调用toString方法。
Date dt1 = new Date(5956899298945L);
System.out.println(dt1);
有参构造方法,输入的是从1970 年 1 月 1 日 00:00:00 GMT 到现在的毫秒数。
Date dt2 = new Date();
System.out.println(dt2);
System.out.println(dt2.getTime());
getTime();返回从1970 年 1 月 1 日 00:00:00 GMT 到现在的毫秒数。
System.out.println(new Date(1553899026141L));
所有通过类创建的对象,如果在System.out.println()中直接填入对象,只有系统默认调用该对象类中的某个方法才可以。
4. Calendar类
4.1. Calendar类概述
java.util.Date类中获取当前年、月、日和将时间格式化以及将字符串类型的日期转换为Date对象的方法都已经被废弃。
如果想要获取Date对象的年、月、日、星期等操作,需要使用Calendar类以及其子类完成。
Calendar是一个抽象类,它为获取和修改年、月、日、星期等日历字段提供了一系列的方法。
4.2. Calendar常用方法
Calendar getInstance()
1. 返回一个Calendar对象
void set(int field,int x);
1. 设置日历字段的值
void get(int field);
1. 获取某个日历字段的值
java.util.Date getTime();
1. 返回代表该日历对象的Date值
void setTime(java.util.Date date);
1. 使用指定的Date设置该日历对象
4.3. 常用的日历字段
AM_PM 上午或者下午。
YEAR 年 MONTH 月 DATE 日 HOUR 12小时制 HOUR_OF_DAY 24小时制 MINUTE 分钟 SECOND 秒 MILLISECOND 毫秒。
4.4. GregorianCalendar子类
GregorianCalendar是Calendar的一个直接子类,提供了世界上大多数国家/地区使用的标准日历系统,即中国所谓的阳历或者公历。
4.5. GregorianCalendar子类独有的常用方法
boolean isLeapYear(int year) 判断指定年份是不是闰年
void add(int field ,int x)为指定的日历字段增加值
4.6. 程序示例
设置日历时间并打印当前时间
设置日历的年份
设置到当前月的多少号
获取今天是当前周的第几天
将日历的月份加上4个月
判断指定的年份是不是闰年
Calendar.DAY_OF_MONTH是Calendar类中的一个属性,是个整型值。
注意:上面程序是一个完整的程序,只是为了方便观察,分成了几部分。