比较两种不同的UTC字符串格式,表示java中的时间戳

时间:2016-02-04 23:02:53

标签: java datetime

我有一个字符串" 21-SEP-15 02.48.48.000000000 AM UTC"代表utc时间戳,我有" 2015-10-08T20:13:21.3Z" format string表示另一个时间戳。如果它们相等,我如何比较它们?

1 个答案:

答案 0 :(得分:2)

第二种格式使用ISO约定,因此可以轻松解析。

第一个解析起来有点复杂,特别是因为月份是大写的。

一种方法是:

String ts1 = "21-SEP-15 02.48.48.000000000 AM UTC";
String ts2 = "2015-10-08T20:13:21.3Z";

DateTimeFormatter fmt1 = new DateTimeFormatterBuilder()
        .parseCaseInsensitive()
        .appendPattern("dd-MMM-yy hh.mm.ss.SSSSSSSSS a VV")
        .toFormatter(Locale.ENGLISH);

Instant d1 = ZonedDateTime.parse(ts1, fmt1).toInstant();
Instant d2 = Instant.parse(ts2);

然后,您可以将这两个时刻与d1.equals(d2)进行比较。