检查大于给定时间的时间

时间:2019-06-13 14:15:24

标签: java

我试图查找输入时间是否大于特定时间。例如,检查用户给定的时间是否大于9:30,如果是,则返回true,否则返回false。 。我不怎么开始。我对此一无所知。谁能告诉我我该怎么做?

3 个答案:

答案 0 :(得分:1)

如果至少使用Java 8,则可以使用java.time api并查看localTime类。

https://docs.oracle.com/javase/8/docs/api/java/time/LocalTime.html

这将允许您创建localTime对象并比较不同时间。

希望这会有所帮助!

答案 1 :(得分:0)

拆分小时值和分钟值, 您还必须注意时间格式(12小时或24小时)。 以字符串形式获取值并像这样拆分。您必须将其转换为int值,因为我需要24小时

int a = 11; //hour given by user
int b = 30; //minute giver by user
int h  = 9; //default
int m = 30; //default

if( a > h){
    //
}else{
   if(a==h && b > m){
       //
    }
}

如果要将时间与日期进行比较,则将datetime转换为long值的时间戳,例如15324242342 使用这个值为两个datetime的值可以得到结果。

答案 2 :(得分:0)

tl; dr

return LocalTime.parse( "18:37" ).isAfter( LocalTime.of( 9 , 30 )  ) ;

java.time

LocalTime类表示一天中没有日期和时区的时间。

定义您的阈值。

LocalTime limit = LocalTime.of( 9 , 30 ) ;

收集用户的输入。

LocalTime lt = LocalTime.parse( "18:37" ) ;

比较。

boolean isLate = lt.isAfter( limit ) ;