如何从Facebook检索的日期字符串中解析时间

use*_*083 3 java android facebook date

我从Facebook活动中获得了这些时间.例如:start_time,它是一个这样的字符串:

2013-12-21T18:30:00 + 0100

现在我只想要时间,比如:

18.30

我试着这样做:

SimpleDateFormat formatter = new SimpleDateFormat(" EEEE, dd MMMM yyyy", java.util.Locale.getDefault());
                Date formatted = null;
                try {
                    formatted = formatter.parse(p.getStart_time());
                } catch (ParseException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                String formattedString = formatted.toString();
                txtStart_time.setText(""+formattedString);
Run Code Online (Sandbox Code Playgroud)

p.getStart_time() 是一个字符串,它给我像我之前说的日期.

如果我这样做,我会收到一个错误:

无法解释的日期.

有人知道一个工作吗?

Sot*_*lis 11

您需要两种格式:一种用于解析日期,另一种用于格式化日期

String startTime = "2013-12-21T18:30:00+0100";
SimpleDateFormat incomingFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
Date date = incomingFormat.parse(startTime);

SimpleDateFormat outgoingFormat = new SimpleDateFormat(" EEEE, dd MMMM yyyy", java.util.Locale.getDefault());

System.out.println(outgoingFormat.format(date));
Run Code Online (Sandbox Code Playgroud)

版画

 Saturday, 21 December 2013
Run Code Online (Sandbox Code Playgroud)