日期类是java用来操作时间的类,在java中主要有两个类来操控时间日期分别是Date和Calendar类
2.Date日期类 1. 对象创建Date是java最早用来操控日期的类,但由于有一定的设计缺陷,很多功能已经被淘汰,但还是有和多项目中还使用着Date类
Date类的实例化;A:无参Date构造,B:有参Date构造
A:
Date date = new Date(); System.out.println(date); 结果: Sun Nov 07 15:31:41 CST 2021 为系统当前日期的信息
B:
如果想要创建某一指定日期的对象,则就要通过有参构造(已过时,但还可以用)
//例如创建日期为2021年9月8日的Date的对象 Date date = new Date(2021 - 1900, 9-1, 8); System.out.println(date);2. Date日期类的输出
Date类日期直接输出样式:Sun Nov 07 15:31:41 CST 2021
对于国人来说很不友好,java提供了两种方法来让人看着舒服
A:toLocaleString()B:DateFormat类
A:
Date date = new Date(); System.out.println(date.toLocaleString()); 结果:2021-11-7 15:51:32
B:DateFormat
通过查jdk可知
通过不同的字母代表不同的含义
例如y:年份M:y月份…
Date date = new Date(); String pattern="yyyy年MM月dd日 HH:mm:ss"; SimpleDateFormat sd=new SimpleDateFormat(pattern); String format = sd.format(date); System.out.println(format);3. 日期信息获取
Date date = new Date();
//获取几号
int date2 = date.getDate();
//获取周几,注意!!Date类中0表示周天,其它和中国一致
int day = date.getDay();
//获取年份,注意的是Date类年份是从1900年开始的,
//要想获取准确年份需要在year基础之上+1900
int year = date.getYear()+1900;
//获取月份,月份是从0-11,0表示1月,1表示2月以此类推
int month = date.getMonth();
//获取小时
int hours = date.getHours();
//获取分钟
int minutes = date.getMinutes();
//获取秒数
int seconds = date.getSeconds();
//获取从1970年值系统当前时间经过的毫秒数
long time = date.getTime();
System.out.println("号:"+date2);
System.out.println("周"+day);
System.out.println("年份"+year);
System.out.println("月份"+month);
System.out.println("小时"+hours);
System.out.println("分钟"+minutes);
System.out.println("秒"+seconds);
System.out.println("1970至今的毫秒数"+time);
结果:
由于calendar更加详细,Date类逐渐别calendar取代
1. 对象创建由于calendar是个抽象类,没有设置构造方法,通过方法创建一个子类对象
Calendar c=Calendar.getInstance();2. 日期类和日历序列转换
Calendar c=Calendar.getInstance(); //日历转换成日期 Date time = c.getTime();
//日期转成日历 Date d=new Date(); Calendar c=Calendar.getInstance(); c.setTime(d);2. 日期信息的获取
通过jdk可知,日期的信息都是日历类的静态成员常量,可直接通过类名.常量名即可
Calendar c=Calendar.getInstance(); c.get(Calendar.DATE);//这个月的那一天 c.get(Calendar.DAY_OF_MONTH);//这个月的那一天 c.get(Calendar.DAY_OF_WEEK);//周几 c.get(Calendar.DAY_OF_WEEK_IN_MONTH);//这个月的第几周 c.get(Calendar.DAY_OF_YEAR);//一年中的那一天 c.get(Calendar.HOUR);//小时 。。。。。。等等一系列方法3. 日期加减
Calendar c=Calendar.getInstance(); c.add(Calendar.DAY_OF_MONTH, 1);//DAY_OF_MONTH为几号,这个号+1,就下下一天的日期



