在android中解析日期

时间:2011-08-12 16:03:39

标签: java android

我有以下代码来设定日期

DateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy kk:mm:ss", Locale.getDefault());
Date _pubDate =  df.parse(_pubDateE.getFirstChild().getNodeValue());

但是我收到了这个错误:

java.text.ParseException:Unparseable date:“Fri,2011年8月12日15:34:47 CEST”

有什么问题?

4 个答案:

答案 0 :(得分:7)

在您的异常消息“CEST”部分中,您最后错过了日期格式中的时区。 你的代码

DateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy kk:mm:ss", Locale.getDefault());

应该是

DateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy kk:mm:ss z", Locale.getDefault());

您可能需要阅读SimpleDateFormat

编辑 在本页的底部,时区格式更加清晰 Clearer Timezone format

答案 1 :(得分:4)

我认为你需要在最后添加zzz(对于时区):

"EEE, dd MMM yyyy kk:mm:ss zzz"

答案 2 :(得分:0)

日期字符串不是您指定的格式。注意结束时区?

答案 3 :(得分:0)

您可能想要:new SimpleDateFormat("EEE, dd MMM yyyy kk:mm:ss zzz", Locale.getDefault());