如何将facebook字符串timestampformate转换为java中的时间戳ts?

问题描述 投票:0回答:3

我正在尝试将facebook字符串转换为java中的时间戳格式。当我尝试使用示例代码时,它工作正常。

  String text = "2011-10-02 18:48:05.123456";
  Timestamp ts = Timestamp.valueOf(text);
  System.out.println("time stamp formate" +ts);

但是当我把qazxsw poi(字符串格式的fb时间戳)放在同一个String文本中时,它给了我EXCEPTION说

String text = "2016-02-14T05:22:18+0000";
java facebook exception timestamp
3个回答
1
投票

如果您使用的是java 8:

Exception in thread "main" java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
at java.sql.Timestamp.valueOf(Timestamp.java:204)

0
投票

尝试使用类似的东西:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ");
LocalDateTime localDateTime = LocalDateTime.parse(text, formatter);
Timestamp ts = Timestamp.valueOf(localDateTime);    

0
投票

如果有人在您以JSON格式下载邮件时尝试转换JSON数据中显示的Facebook时间戳代码,则它是一个13个字符的数字,如下所示:1548410106047。

您必须先将其转换为Long数据类型,然后简单地从中创建一个Timestamp,如下所示:

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date d = formatter.parse(text);
long time = d.getTime();
Timestamp t = new Timestamp(time);

在时间戳中获得它后,您可以使用它执行任何操作,例如:

Long fbt = Long.parseLong(facebookTime);
Timestamp ts = new Timestamp(fbt);

上面的输出如下所示:2019年1月25日星期五01:55 AM

© www.soinside.com 2019 - 2024. All rights reserved.