java 时间字符串比较_如何在java中比较时间字符串与当前时间?

TL;博士

LocalTime.now()

.isAfter( LocalTime.parse( "15:30" ) )

细节

您应该反过来考虑:如何将该字符串转换为时间值.您不会通过将数字转换为字符串来尝试数学.日期时间值也是如此.

避免使用旧的捆绑类java.util.Date和.Calendar,因为它们在设计和实现方面都非常麻烦,存在缺陷.它们在Java 8年被新的java.time package取代.而java.time的灵感来自于Joda-Time.

java.time和Joda-Time都提供了一个类,用于捕获没有任何日期到时区的时间:LocalTime.

java.time

使用Java内置的java.time类,特别是LocalTime.获取当地时区的当前时间.根据输入字符串构造一个时间.与isBefore,isAfter或isEqual方法进行比较.

LocalTime now = LocalTime.now();

LocalTime limit = LocalTime.parse( "15:30" );

Boolean isLate = now.isAfter( limit );

最好指定所需/预期的时区,而不是隐式依赖JVM的当前默认时区.

ZoneId z = ZoneId.of( "Pacific/Auckland" ) ;

LocalTime now = LocalTime.now( z ); // Explicitly specify the desired/expected time zone.

LocalTime limit = LocalTime.parse( "15:30" );

Boolean isLate = now.isA

你可能感兴趣的:(java,时间字符串比较)