目录
Simple Date Format类日期时间的格式化和解析
日期和时间
System里的
public class api {
public static void main(String[] args) {
System.out.println(System.currentTimeMillis());
}
}
获取当前的时间戳,long类型,当前时间与1970年1月1日0时0分0秒的毫秒级时间差,可以用来计算时间差
两个Date(继承关系)
|-->Java.util.Date
>两个构造函数 空参构造函数:创建基于当前时间的对象
long类型的构造函数,创建基于指定时间的对象
>两个方法 tostring()打印时间getTime()得到long类型的毫秒数
|--->Java.sql.Date数据库里的Date
Simple Date Format类日期时间的格式化和解析
public class day {
@Test
public void test() throws ParseException {
//格式化时间 Date--->String
SimpleDateFormat sdf=new SimpleDateFormat();
Date date1=new Date();
String format = sdf.format(date1);
System.out.println(format);
//解析 string--->Date
Date date2=sdf.parse("2023/7/16 下午6:30");
System.out.println(date2);
}
}
利用构造器指定输出格式
年-->yyyy
月-->MM
日-->dd:一个月中的,DD:一年中的
时-->hh:12进制,HH24进制
分-->mm
秒-->s
毫秒-->S
@Test
public void test() throws ParseException {
//格式化时间 Date--->String
SimpleDateFormat sdf=new SimpleDateFormat("yyy.MM.dd");
Date date1=new Date();
String format = sdf.format(date1);
System.out.println(format);
//解析 string--->Date
Date date2=sdf.parse("2023.7.16");
System.out.println(date2);
}
Calendar日历类(抽象类)
实例化:
由于日历类是一个抽象类,需要创建子类实例,治理我们通过Calendar的静态方法getInstance()来获取,
Calendar instance = Calendar.getInstance();
常用方法
get(int field)得到当前对象时当前年/月/周/的第几天
set(int field , ××)设置当前对象时当前年/月/周/的第几天
add(int field , ××)增加当前对象时当前年/月/周/的天数
getTime()把calendar转换为Date
setTime()使用指定的Date重置Calenda
JDK8中的API
1. LocalDate,LocalTime,LocalDateTime --->类似于Calendar > 实例化:now() / of(xxx,xx,xx)(静态方法) > 方法:geXxx(t() 返回一些属性 是年月周的第几天,是第几个月周 withXxx()设置成是年月周的第几天,返回一个新的对象,原来对象没改变 plusXxx()加上...年月日,返回一个新的对象,原来对象没改变 minusXxx()减去...年月日,返回一个新的对象,原来对象没改变 2. Instant:瞬时 --->类似于Date > 实例化:now() 得到现在标准UTC时间的instant对象 ofEpochMilli(long) 得到1970/1/1/00:00:00加上对应毫秒数的instant对象 > 方法:toEpochMilli() 获取当前时间到1970/1/1/00:00:00的毫秒数 3. DateTimeFormatter ---> 类似于SimpleDateFormat 用于格式化和解析LocalDate,LocalTime,LocalDateTime
比较器
自然排序
实现Comparable接口:
具体的类A实现Comparable接口,重写compareTo(Object obj)方法,在方法中指明比较大小的标准
定制排序
实现Comparator接口
重写抽象方法compare(Object obj1 , Object obj2),在此方法中要指明要比较的对象的类型(instance of)
两种排序的区别
自然排序 | 单一的唯一的 | 一劳永逸的 |
定制排序 | 灵活的多样的 | 临时的 |
自然排序 | 实现Comparable接口,重写抽象方法compareTo(Object obj) |
定制排序 | 实现Comparator接口重写抽象方法compare(Object obj1 , Object obj2) |