Date类
Java提供了Date类来处理日期、时间Date对象既包含日期,也包含时间,对于date,存在的时间已经很久了,然而有很多的方法以及构造器都已经过时了,是不推荐使用了的。
Java.util.Date的构造器还剩下两个构造器,其他都已经过时(@Deprecated注解,表 示已经不再推荐使用,使用会有警告,并且可以会导致程序性能或者安全性方面的问题)
- 创建一个类的对象:
获取系统当前时间的date对象
获取当前时间的方法有三种
1.1在util.Date获取
Date d= new Date();
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss");
System.out.println(dateFormat.format(d));
1.2在util.Calendar获取
Calendar c= Calendar.getInstance();
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss");
System.out.println(dateFormat.format(c.getTime()));
1.3til.Calendar获取完整的时间
Calendar c=Calendar.getInstance();
int y=c.get(Calendar.YEAR);
int m=c.get(Calendar.MONTH);
int d=c.get(Calendar.DATE);
int h=c.get(Calendar.HOUR_OF_DAY);
int mi=c.get(Calendar.MINUTE);
int s=c.get(Calendar.SECOND);
System.out.println("当前时间是"+y+"年"+m+"月"+d+"日"+h+"时"+mi+"分"+s+"秒");
2.创建指定日期的date对象:
获取2019年08月01日 的Date对象
DateFormat date1 = new SimpleDateFormat("yyyy-MM-dd");
Date dq1 = date1.parse("2019-08-01");
System.out.println(dq1);
获取2019年07月20日20点20分20秒 的Date对象
DateFormat date2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dq2 = date2.parse("2019-07-20 20:20:20");
System.out.println(dq2);
3.时间的比较:
boolean flag = isDateBefore('2004-09-09 12:12:12','2005-09-09 16:00:00');
System.out.println(flag);
flag = isDateBefore('2006-09-09 01:01:01','2005-09-09 16:00:00');
System.out.println(flag);
flag = isDateBefore('2005-09-09 01:01:01');
System.out.println(flag);
4.获得一个date对象的信息
如:
Date d = new Date(2014-1900, 6-1, 12);
获取年份 (注意年份要加上1900,这样才是日期对象d2所代表的年份)
int year = d.getYear() + 1900;
获取月份 (注意月份要加1,这样才是日期对象d2所代表的月份)
int month = d.getMonth() + 1;
获取日期
int date = d.getDate();
获取小时
int hour = d.getHours();
不设置默认为0
获取分钟
int minute = d.getMinutes();
获取秒
int second = d.getSeconds();
获取星期 (注意:0代表星期日、1代表星期1、2代表星期2.3.4.5.6.0星期日)
int day = d.getDay();