如何比较两个不同的时间戳并查找最新的

2022-06-11 00:00:00 datetime datetime-format java

我将两个不同的时间戳值作为字符串。我要找出哪一张是最新的。其格式为[YYYYMMDDHHMMSS]

时间戳为:

20150804030251
20150804040544

是否有使用Java 8获取最新版本的简单方法?


解决方案

是的,这些时间戳的格式易于比较。

if ( Long.parseLong(timesteamp1) < Long.parseLong(timestamp2) ) {
  //timestamp2 is later than timestamp1
}

这是可能的,因为最有意义的部分,即年份,位于整数最有意义的部分,也就是最左边;其余部分从左到右按重要性递减顺序排列;每个部分都使用固定的位数,如02月而不是2月。否则,这种简单的方法是不可能的。

你也可以从词汇学的角度对它们进行比较。在此格式的特定情况下,前面的代码等同于:

if ( timestamp1.compareTo(timestamp2) < 0 ) {
  // timestamp2 is later than timestamp 1
}

相关文章