我使用以下方法生成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());
答案 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类型的时间戳上工作,因为这是你的情况。