2016-02-18 2 views
0

Я пытаюсь преобразовать строку facebook в форму штампа времени в java. Когда я попытался с образцом кода, он отлично работает.Как преобразовать фразу facebook timestampformate в timestamp ts в java?

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

Но когда я ставлю String text = "2016-02-14T05:22:18+0000"; (Fb Отметка времени в Струнный формиата) в том же тексте Струнный это дает мне ИСКЛЮЧЕНИЕ говоря

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) 
+1

Как это удивительно? Сообщение об ошибке достаточно ясно: формат не подходит. – fge

ответ

0

Попробуйте что-то вроде:

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); 
0

если вы используете java 8:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ"); 
LocalDateTime localDateTime = LocalDateTime.parse(text, formatter); 
Timestamp ts = Timestamp.valueOf(localDateTime);  
Смежные вопросы