使用SimpleDateFormatter解析

我有一个这样的日期格式2018-07-13T16:06:46 + 00:00。我想将其转换为long。

我尝试了以下代码,它给了我解析异常。

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
Date dt = formatter.parse("2018-07-13T16:06:46+00:00");

有人可以帮忙吗?


牧羊人nacy
浏览 182回答 3
3回答

Helenr

我想将其转换为长看来您的日期格式有问题,如果您使用的是java.time API,它可能会更简单,您可以使用OffsetDateTime的默认格式,如下所示:String stringDate = "2018-07-13T16:06:46+00:00";OffsetDateTime ofset = OffsetDateTime.parse(stringDate);Instant instant = ofset.toInstant();long millisecond = instant.toEpochMilli();System.out.println(millisecond);//1531498006000或者您也可以一枪制做://parse the date and convert it to long (It seems you want to get millisecond)long millisecond = OffsetDateTime.parse("2018-07-13T16:06:46+00:00")                                 .toInstant()                                 .toEpochMilli();

九州编程

这是Java 8中的标准数据格式,您可以尝试:ZonedDateTime parsedDateTime = ZonedDateTime.parse("2018-07-13T16:06:46+00:00", DateTimeFormatter.ISO_OFFSET_DATE_TIME); System.out.println(parsedDateTime.toEpochSecond());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java