如何比较Java中的两个瞬间?
我想比较两个Instants 以查看是否等于或大于,但我不能。我不知道。我如何比较瞬间?
private Instant expiration;
if(expiration()==Instant.now()||expiration()>Instant.now())
{
valid+="the Expire date is invalid check it . ";
}
我尝试这种方式,但我有编译错误。但我认为不能以这种方式进行比较,它必须立即更改为字符串并在之后进行比较,但我不知道如何格式化为字符串
回答
不要将它们转换为字符串。Instant 和其他所有Comparable类型一样,都有这个compareTo方法。像这样使用它:
if (expiration.compareTo(Instant.now()) >= 0) {
...
}
- `Instant` also has more semantically meaningful methods: `if (now().isAfter(expiration))`.