为了账号安全,请及时绑定邮箱和手机立即绑定

使用SimpleDateFormatter解析

使用SimpleDateFormatter解析

牧羊人nacy 2021-05-17 16:13:57
我有一个这样的日期格式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");有人可以帮忙吗?
查看完整描述

3 回答

?
Helenr

TA贡献1780条经验 获得超4个赞

我想将其转换为长


看来您的日期格式有问题,如果您使用的是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();


查看完整回答
反对 回复 2021-05-26
?
九州编程

TA贡献1785条经验 获得超4个赞

这是Java 8中的标准数据格式,您可以尝试:

ZonedDateTime parsedDateTime = ZonedDateTime.parse("2018-07-13T16:06:46+00:00", DateTimeFormatter.ISO_OFFSET_DATE_TIME);
System.out.println(parsedDateTime.toEpochSecond());


查看完整回答
反对 回复 2021-05-26
  • 3 回答
  • 0 关注
  • 181 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信