日期类
- 日期类名——Date
- 直接用Date类创建一个对象并输出对象,得到当前的时间戳,但为了方便看懂,需要格式化成更明了的样式
- 格式化之年——y,例如yyyy即2023
- 格式化之月——MM
- 格式化之日——dd,一个月中的日期,D,一年中的日期
- 格式化之时——h,12进制,HH,24进制
- 格式化之分——mm
- 格式化之秒——s,秒,S,毫秒
- 将Date类型的时间戳格式化成String类型的固定样式,用SimpleDateFormat类下的format方法
- 可以将一个String类型的时间转换成Date类型的时间戳,用SimpleDateFormat类下的parse方法
- Date类下有befor方法和after方法,可以直接用来比较时间的前后,返回的是布尔类型
- Date类下有setTime方法和getTime方法,可以???
Date d1 = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(pattern: "yyyy-MM-dd HH:mm:ss.SSS");
String date1 = sdf.format(d1);
System.out.println(date1);
String date2 = "2023-03-30 16:40:12.450";
Date d2 = sdf.parse(date2);
System.out.println(d2);
日历类
- 日历类名——Calendar
- Calendar类是抽象的,不能直接用new创建对象,需要用Calendar类下的getInstance方法创建对象
- Calendar类实例化后得到当前的日历,但为了方便看懂,需要格式化成更明了的样式
- Calendar有一些关于年月日的属性值可以直接获取到
- Calendar下的getMaximum方法可以得到某个属性的最大值,例如可以得到某个月的最大那一天
- Calendar下的add方法可以将某个属性增加,或者减少
- Date实例可以转换成Calendar实例,一般来说Calendar类功能更丰富方便
Calendar cal = new Calendar();
Calendar cal = Calendar.getInstance();
cal.get(Calendar.YEAR);
cal.get(Calendar.MONTH);
cal.get(Calendar.DATE);
cal.get(Calendar.DAY_OF_MONTH);
cal.get(Calendar.DAY_OF_WEEK);
cal.getMaximum(Calendar.DAY_OF_MONTH);
cal.get(Calendar.YEAR, amount:-1);
cal.setTime(new Date());