首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查时间集是否大于当前时间?

问检查时间集是否大于当前时间?
EN

Stack Overflow用户
提问于 2012-07-13 08:15:29
回答 4查看 6.8K关注 0票数 1

时间将被保存为字符串,有没有办法将字符串转换为时间,然后检查它是否等于或大于当前时间,或者是否小于当前时间?

如果这个问题之前已经被问过很多次了,很抱歉!

EN

回答 4

Stack Overflow用户

发布于 2012-07-13 08:36:02

将字符串转换为日期格式的方式如下:

我假设您使用yyyy-MM-dd HH:mm:ss格式

代码语言:javascript
复制
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd, HH:mm:ss");
formatter.setLenient(false); 

String oldTime = "2012-07-11 10:55:21";
Date oldDate = formatter.parse(oldTime);

这就是获取当前时间的方法

代码语言:javascript
复制
Calendar c = Calendar.getInstance(); 
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentDate = df.format(c.getTime());

最后,此tutorial将向您展示如何在java中比较日期。

票数 4
EN

Stack Overflow用户

发布于 2012-07-13 08:17:59

时间是以字符串形式保存的时间戳,还是实际的字符串?如果是时间戳,您可以始终执行以下操作:

代码语言:javascript
复制
long timestamp = Long.parseLong(stringTimestamp);
票数 1
EN

Stack Overflow用户

发布于 2016-08-15 08:24:25

其他答案是正确的,但已经过时了。请改用java.time类。

LocalTime

LocalTime类表示一天中的某个时间。

代码语言:javascript
复制
LocalTime input = LocalTime.parse( "20:15" );

要获取当前时间,请指定时区。对于任何给定的时刻,一天中的时间因时区而异。

代码语言:javascript
复制
ZoneId zoneId = ZoneId.of( "America/Montreal" );
LocalTime now = LocalTime.now( zoneId );

您可以使用equals、compareTo、isBefore和isAfter方法进行比较。

代码语言:javascript
复制
Boolean input isAfterNow = input.isAfter( now );

您可以生成一个字符串,以标准ISO8601格式和24小时时钟HH:MM:SS.SSSSSSSSS表示此时间值。打电话给toString就行了。

代码语言:javascript
复制
String output = now.toString();

java.time

java.time框架内置于Java8和更高版本中。这些类取代了旧的麻烦的日期时间类,如java.util.Date、.Calendar和java.text.SimpleDateFormat。

现在maintenance mode中的Joda-Time项目建议迁移到java.time。

要了解更多信息,请参阅Oracle Tutorial。和搜索堆栈溢出,以获得许多示例和解释。

在ThreeTen-Backport中,java.time的大部分功能被向后移植到Java6和7中,并在ThreeTenABP中进一步适应于Android。

ThreeTen-Extra项目使用额外的类扩展了java.time。这个项目是未来可能添加到java.time中的试验场。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11462498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档