如何比较Java中的两个utc时间戳?

时间:2016-05-11 19:56:00

标签: java timestamp utc

我使用以下方法生成UTC时间戳,并希望将其与另一个进行比较。我正在使用Apache Commons Lang库。

如何比较两个时间戳并确定哪一个更大?

String msgPushedTimestamp = 2016-05-11T19:50:17.141Z
String logFileTimestamp = 2016-05-11T14:52:02.970Z

这就是我使用Apache Commons Lang库生成时间戳的方法。

String msgPushedTimestamp = FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", TimeZone.getTimeZone("UTC")).format(System.currentTimeMillis());

2 个答案:

答案 0 :(得分:4)

您可以将它们作为字符串进行比较,因为您的日期格式(ISO 8601)在字典上具有可比性。

int compare = msgPushedTimestamp.compareTo(logFileTimestamp);
if (compare < 0) {
    // msgPushedTimestamp is earlier
} else if (compare > 0) {
    // logFileTimestamp is earlier
} else {
    // they are equal
}

答案 1 :(得分:1)

让类实现Comparable接口,可以使用核心Java的compareTo方法。在String类型的时间戳上工作,因为这是你的情况。