Date类是对时间的封装,一个Date类的对象就表示某一时刻。
在JDK类库中,有2个Date类
·java.util.Date
·java.sql.Date 继承java.util.Date
一般只有在涉及到数据库编程的时候才会用这个Date
1> 无参构造器:Date d = new Date();获取当前系统时间(创建对象的那一时刻)
2> 带long参数的构造器:Date d = new Date(long);创建的对象代表的是距离格林尼治时间指定毫秒后的那一时刻
3> 带有年月日参数的构造器:Date d = new Date(year,month,day);创建一个指定年月日的时间对象(年份-1900,月份0~11,日期1~31),没有指定时分秒,默认0:0:0
4> 带有年月日时分秒参数的构造器:Date d4 = new Date(114,3,12,9,11,56);,创建指定年月日时分秒的构造器
compareTo: int i = d4.compareTo(d1);
用来比较当前日期(d4)和指定日期(d1)对象的先后
如果返回+1,表示当前日期对象>指定日期对象
如果返回0,表示两个日期相等
如果返回-1,表示当前日期对象<指定日期对象
getTime() : long time = d1.getTime();将d1所代表的时间转换成long类型
使用DateFormat来帮助转换日期的格式
1.getDateInstance
getDateInstance():通过此方法获取到的DateFormat对象,只能对Date对象的日期(年月日)进行格式化
//0:2014年7月14日 星期一
//1:2014年7月14日
//2:2014-7-14【默认格式】
//3:yy-MM-dd
DateFormat df1 = DateFormat.getDateInstance(0);
String str1 = df1.format(d);
System.out.println(str1);
2.getTimeInstance
getTimeInstance():通过此方法获取到的DateFormat对象,只能对Date对象的时间(时分秒)进行格式化
//0:下午07时21分24秒 CST
//1:下午07时21分24秒
//2:19:21:24【默认格式】
//3:下午7:21
DateFormat df2 = DateFormat.getTimeInstance(0);
String str2 = df2.format(d);
System.out.println(str2);
3.getDateTimeInstance parse
getDateTimeInstance():通过此方法获取到的DateFormat对象,可以对Date对象的日期和时间(年月日时分秒)进行格式化
DateFormat df3 = DateFormat.getDateTimeInstance(1,1);
String str3 = df3.format(d);
System.out.println(str3);
System.out.println("输入一个日期字符串,格式为[1972年1月28日 下午07时21分24秒]:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String dateStr = br.readLine();
//将一个符合DateFormat指定的格式的字符串,转换成一个Date对象
Date d1 = df3.parse(dateStr);
System.out.println(d1);
1.创建一个Calendar对象
à通过子类GregorianCalendar创建
//获取一个表示当前时间的Calendar对象
Calendar c1 = new GregorianCalendar();
//创建一个表示指定年月日的Calendar对象
Calendar c2 = new GregorianCalendar(year,month,day);
//创建一个表示指定的年月日时分秒的Calendar对象
Calendar c3 = new GregorianCalendar(year,month,day,hour,minute,second);
à通过本类中的静态方法getInstance
Calendar c = Calendar.getInstance();
2.对Calendar对象的操作
àget
àset
àadd
3.Date对象和Calendar对象的相互转换
àDate对象转换成Calendar
Date d = new Date(894998846L);
Calendar c = Calendar.getInstace();
c.setTime(d);
àCalendar对象转换成Date对象
Date d = c.getTime();