众所周知,作为程序员时间比较在程序中是比较常见的,你是不是也时常不知道该选择什么方法进行合理的比较大小呢?接下来我们来聊一聊Date类型和LocalDateTime(LocalDate)类型时间的比较方法,希望对大家有所帮助。
1.getTime()
Date类型特有,将时间转化成时间毫秒值(long类型),数字类型直接比较大小
public static void main(String[] args) throws Exception{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String stringTime = "2021-09-17 16:13:32";
String stringTime2 = "2021-08-17 16:13:32";
Date date = (stringTime);
Date date2 = (stringTime2);
long time = ();
long time2 = ();
("time大于time2:" + (time > time2));
}
2.compareTo
compareTo() 方法用于将 Number 对象与方法的参数进行比较。可用于比较 Byte, Double, Integer, Float, Long 或 Short 等。该方法用于两个相同数据类型的比较。
public static void main(String[] args) throws Exception{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String stringTime = "2021-09-17 16:13:32";
String stringTime2 = "2021-08-17 16:13:32";
Date date = (stringTime);
Date date2 = (stringTime2);
("time大于time2:" + ((date2) > 0));
}
public static void main(String[] args) throws Exception{
LocalDateTime time1 = ();
LocalDateTime time2 = (2021,9,17,16,33,12);
("time大于time2:" + ((time2) > 0));
}
3.after(before同理)
方法用于检查作为参数传递的日期是否在此实例之后。它返回一个显示相同值的布尔值。
public static void main1(String[] args) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String stringTime = "2021-09-17 16:13:32";
String stringTime2 = "2021-08-17 16:13:32";
Date date = (stringTime);
Date date2 = (stringTime2);
("time大于time2:" + ((date2)));
}
public static void main(String[] args) {
LocalDateTime time1 = ();
LocalDateTime time2 = (2021,9,17,16,33,12);
("time大于time2:" + ((time2)));
}
常用的时间比较基本上就是上述几个方法,欢迎大家补充。
LocalDateTime从jdk1.8引入以后被越来越多的开发者使用,当然其功能相比于Date增加了很多便捷的方法,使用起来更加方便。