2012-07-05 45 views
0

我有两个日期,一个来自Facebook,另一个来自twitter,我如何将它们转换成相同的格式。 以下是这我得到在Android中如何将Facebook和Twitter的日期转换为相同的fomat?

日期

Facebook的日期= 2012-07-05T13:17:13 + 0000 Twitter的日期=周四7月5日22时15分04秒GMT + 05:30 2012

如何可我们把两个都一样:05月2012年11点54分30秒 请帮我解决了这一点.. 感谢

+0

你在用什么日期库? JODA? – 2012-07-05 18:04:53

+0

我正在处理它,但没有得到哪个方法提供确切的想要的日期。 – user1445057 2012-07-05 18:16:52

回答

0

SimpleDateFormat API应该在这里帮了很多。

您需要创建其中两个,每个日期格式一个。然后,您可以使用parse()方法将这些对象转换为Date对象。

最后,如果您愿意,可以使用format()方法将它们变回字符串。

此外,这是使用Java时间,这是比JODA时间更不喜欢,但它可能适合你的目的。

0

这些功能正在将Facebook和Twitter日期转换为您的首选格式。

为Facebook的转换功能日期:

String old_date="2012-07-05T13:17:13+0000"; 

private String Convert_Facebook_Date(String old_date) { 

     SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss"); 
     SimpleDateFormat old = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); 
     sdf.setTimeZone(TimeZone.getDefault()); 

      Date date = null; 
      try { 

       date = old.parse(old_date); 

      } catch (ParseException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace();  
      } 

     return sdf.format(date);   
} 

功能的转换Twitter的日期:

String old_date="Thu Jul 05 22:15:04 GMT+05:30 2012"; 

private String Convert_Twitter_Date(String old_date) { 

     SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss"); 
     SimpleDateFormat old = new SimpleDateFormat("EEE MMM dd HH:mm:ss ZZZZZ yyyy",Locale.ENGLISH); 
     old.setLenient(true); 

      Date date = null; 
      try { 

       date = old.parse(old_date); 

      } catch (ParseException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

     return sdf.format(date);  
} 

两个输出格式,如:05 - 07月2012 11:54 :30

相关问题