Java中的日期和比较器

一、JDK8之前的日期和时间的API
1.System类中的currentTimeMillis();返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差
2.Java.util.Date类
两个构造器的使用
构造器一:Date():创建一个对应当前时间的Date对象
构造器二:创建指定毫秒数的Date对象
两个方法的使用
toString():显示当前的年月日时分秒
getTime():获取当前Date对象对应的毫秒数(时间戳)
3.SimpleDateFormat类
格式化:日期—>字符串 format
解析:格式化的逆过程,字符串---->日期(要求字符串必须符合SimpleDateFormat识别的格式(通过构造器参数体现))parse
4.LocalDate,LocalTime,LocalDateTime类的使用
now()/now(Zoned zone)静态方法,根据当前时间创建对象/指定时区的对象
of()静态方法 根据指定日期/时间创建对象
getDayOfMonth()/getDayOfYear()获取月份天数(1-31)/获取年份天数(1-366)
getDayOfWeek()获取星期几(返回ygeDayOfWeek枚举值)
getMonth获取月份,返回一个Month枚举值
getMonthValue()/getYear()获取月份(1-12)/获取年份
getHour()/getMinute()/getSecond()获取当前对象对应的小时、分钟、秒
withDayOfMonth()/withDayOfYear()/withMonth()/withYear()将月份天数、年份天数、月份、年份、修饰该为指定的值并返回新的对象
plusDays(),p;usWeeks(),plusMonths(),plusYears(),plusHours()向当前对象添加几天、几周、几个月、几年、几小时
**minusMonths()/minusWeeks()/minusDays()/minusYears()/minusHours()从当前对象减去几月、几周、几天、几年、几小时
5.instant类 瞬时
now()静态方法,返回默认UTC时区的Instant类的对象
ofEpochMilli(long epochMilli)静态方法,返回在1970-01-01 00:00:00基础上加上指定毫秒数之后的Instant类的对象
atOffset(ZoneOffset offset)结合即时的偏移来创建一个OffsetDateTime
toEpochMilli()返回1970-01-01 00:00:00到当前时间的毫秒数,即为时间戳
6.DateTimeFormatter类 格式化与解析日期和时间
ofPattern(String pattern)静态方法,返回一个指定字符出格式的DateTimeFormatter
format(TemporalAccessort)格式化一个日期,时间,返回字符串
parse(CharSequencetext)将指定格式的字符序列解析为一个日期和时间
二、java比较器
1.像String,包装类等实现了Comparable接口,重写了compareTo(obj)方法,给出了比较两个对象的方法
2.像String,包装类重写compareTo()方法以后,进行了从小到大的排列
3.重写compareTo(obj)的规则
如果当前对象this大于形参对象obj,则返回正整数
如果当前对象this小于形参对象obj,则返回负整数
如果当前对象this等于形参对象obj,则返回零
4.对于自定义说,如果需要排序,我们可以让自定义类实现Comparable接口,重写compareTo()方法,再compareTo(obj)方法中指明如何进行排序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.Comparator接口的使用:定制排序
背景:
当元素类型内有实现java.lang.Comparable接口而不方便修改代码或者实现了java.lang.Comparable接口的排序规则不适合当前操作,那么可以考虑使用Comparator的对象来排序
重写compare(Object o1,Object o2)的方法,比较o1和o2的大小:
如果方法返回正整数,则表示o1大于o2
如果返回0,表示相等
如果返回负整数,表示o1小于o2
Java中的对象,正常情况下只能比较:==,或!=。不能使用>或<的,但是再开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的大小。如何实现?使用两个接口中任何一个:Comparable或Comparator
6.Comparable接口和Comparator使用的对比
Comparable接口的方式一旦一定,保证Comparable接口实现类的对象在任何位置都可以比较大小
Comparator接口属于临时性的比较

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汝甚骚吾不及

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值