日期字符串来自我的应用程序的XML Feed,格式如此Mon, 10 Dec 2012 13:18:23 GMT
,我想格式化为“13:18:23”。我有这个方法
private String formatTime(String time) {
DateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy kk:mm:ss zzz", Locale.getDefault());
String temp = null;
try {
temp = df.format(time);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return temp;
}
但我一直收到错误IllegalArgumentException
。
任何人都可以看到这段代码正在发生吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
String tmp = "Mon, 10 Dec 2012 13:18:23 GMT";
String DATE_FORMAT = "EEE, dd MMM yyyy kk:mm:ss zzz";
String DATE_FORMAT_NOW = "kk:mm:ss";
SimpleDateFormat sdfSource = new SimpleDateFormat(DATE_FORMAT);
Date date = sdfSource.parse(tmp);
SimpleDateFormat sdfDestination = new SimpleDateFormat(DATE_FORMAT_NOW);
tmp = sdfDestination.format(date);
System.out.println("Converted date is : " + tmp);
<强>输出强>:
Converted date is : 15:18:23
由于格林尼治标准时间,你有+2小时的差异。从zzz
移除DATE_FORMAT
即可获得:
13:18:23