我试图将facebook字符串转换为java中的时间戳格式。 当我尝试使用示例代码时,它可以正常工作。
String text = "2011-10-02 18:48:05.123456";
Timestamp ts = Timestamp.valueOf(text);
System.out.println("time stamp formate" +ts);
但是当我在同一个String文本中放置String text = "2016-02-14T05:22:18+0000";
(fb时间戳在String formate中)时,它给了我EXCEPTION说
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 :(得分:1)
如果你使用的是java 8:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ");
LocalDateTime localDateTime = LocalDateTime.parse(text, formatter);
Timestamp ts = Timestamp.valueOf(localDateTime);
答案 1 :(得分:0)
尝试使用以下内容:
public function view($username = ""){
// do your stuff here
}
答案 2 :(得分:0)
如果有人尝试转换以JSON格式下载消息时在JSON数据中显示的Facebook Timestamp代码,则它是一个13个字符的数字,例如:1548410106047。
您必须首先将其转换为Long数据类型,然后像这样简单地制作一个时间戳:
Long fbt = Long.parseLong(facebookTime);
Timestamp ts = new Timestamp(fbt);
一旦添加了时间戳,就可以使用它进行任何操作,例如:
SimpleDateFormat sdf = new SimpleDateFormat("EEEE, MMMM dd, YYYY hh:mm a");
System.out.println(sdf.format(ts));
上面的输出看起来像这样: 2019年1月25日星期五上午01:55