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.isAfter( limit );

乔达时间

在这种情况下,使用Joda-Time库的代码几乎与上面针对java.time看到的代码相同.

请注意0​​7002项目现在是maintenance mode,团队建议迁移到java.time课程.

关于java.time

要了解更多信息,请参阅Oracle Tutorial.并搜索Stack Overflow以获取许多示例和说明.规格是JSR 310.

从哪里获取java.time类?

>内置.

>部分标准Java API,带有捆绑实现.

> Java 9增加了一些小功能和修复.

>大部分java.time功能都被反向移植到Java 6& 07年7月7日.

> ThreeTenABP项目专门针对Android调整了ThreeTen-Backport(如上所述).

>见How to use ThreeTenABP….

ThreeTen-Extra项目使用其他类扩展了java.time.该项目是未来可能添加到java.time的试验场.您可以在这里找到一些有用的类,例如Interval,YearWeek,YearQuarter和more.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值