我有两个约会,一个来自 facebook,第二个来自 twitter,我怎样才能将它们转换成相同的格式。以下是我得到的日期
Facebook 日期 = 2012-07-05T13:17:13+0000 Twitter 日期 = 2012 年 7 月 5 日星期四 22:15:04 GMT+05:30
我们如何将两者转换为:2012 年 7 月 5 日 11:54:30 请帮我解决这个问题。谢谢
SimpleDateFormat API在这里应该有很大帮助。
您需要创建其中两个,每个日期格式一个。然后您可以使用该parse()
方法将它们转换为Date
对象。
最后,您可以根据需要使用该format()
方法将它们转换回字符串。
此外,这是使用 Java 时间,它不如 JODA 时间可取,但它可能对您有用。
这些功能用于将 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-Jul-2012 11:54:30