java–ListView中的Android日期格式

java–ListView中的Android日期格式,第1张

概述多亏了GiulioPiancastelli,我现在拥有一个具有多行功能的列表视图.现在我在第二行格式化日期时遇到问题.所有日期都一样.在饲料中他们是不同的.我需要有人帮我格式化日期,月份,年份(2011年10月27日星期四).这是不起作用的代码:List<Map<String,String>>data=newArrayList<

多亏了Giulio Piancastelli,我现在拥有一个具有多行功能的列表视图.现在我在第二行格式化日期时遇到问题.所有日期都一样.在饲料中他们是不同的.我需要有人帮我格式化日期,月份,年份(2011年10月27日星期四).

这是不起作用的代码:

 List<Map<String, String>> data = new ArrayList<Map<String, String>>();    for (RSSItem item : Feed.getAllitems()) {        Map<String, String> datum = new HashMap<String, String>(2);        datum.put("Title", item.getTitle());        String dateStr = item.getPubDate();        SimpleDateFormat curFormater = new SimpleDateFormat("EEEE, MMMM dd, yyyy");         Date dateObj = new Date();        try {            dateObj = curFormater.parse(dateStr);        } catch (ParseException e) {            // Todo auto-generated catch block            e.printstacktrace();        }         SimpleDateFormat postFormater = new SimpleDateFormat("EEEE, MMMM dd, yyyy");         String newDateStr = postFormater.format(dateObj);        datum.put("date", newDateStr);        data.add(datum);    }    SimpleAdapter adapter = new SimpleAdapter(this, data,                                              androID.R.layout.simple_List_item_2,                                              new String[] {"Title", "date"},                                              new int[] {androID.R.ID.text1,                                                         androID.R.ID.text2});    itemList.setAdapter(adapter);    itemList.setonItemClickListener(this);    itemList.setSelection(0);

如果我删除以前的日期代码,它工作正常,但格式不正确.

此代码确实有效,但格式不正确:

List<Map<String, String>> data = new ArrayList<Map<String, String>>();    for (RSSItem item : Feed.getAllitems()) {        Map<String, String> datum = new HashMap<String, String>(2);        datum.put("Title", item.getTitle());        datum.put("date", item.getPubDate().toString());        data.add(datum);    }    SimpleAdapter adapter = new SimpleAdapter(this, data,                                              androID.R.layout.simple_List_item_2,                                              new String[] {"Title", "date"},                                              new int[] {androID.R.ID.text1,                                                         androID.R.ID.text2});    itemList.setAdapter(adapter);    itemList.setonItemClickListener(this);    itemList.setSelection(0);

我需要有人帮我格式化日期,月份,年份(2011年10月27日星期四).谢谢!

解决方法:

问题是您尝试使用您稍后用于格式化的相同模式来解析字符串.你应该用它已经存在的模式解析它,看起来像“星期五,2011年10月21日12:00:00 GMT”显然.

所以我怀疑你想要的东西:

// You probably actually want to set the time zone of the// formatting pattern - but you'll need to think what time zone you// really want. We don't kNow enough to say. Ditto the locale...private static final DateFormat PARSING_PATTERN =     new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); private static final DateFormat FORMATTING_PATTERN =     new SimpleDateFormat("EEEE, MMMM dd, yyyy"); ...for (RSSItem item : Feed.getAllitems()) {    Map<String, String> datum = new HashMap<String, String>(2);    datum.put("Title", item.getTitle());    String outputDate;    try {       Date date = PARSING_PATTERN.parse(item.getPubDate());       outputDate = FORMATTING_PATTERN.format(date);    } catch (ParseException e) {       outputDate = "InvalID date"; // Or whatever...    }     datum.put("date", outputDate);    data.add(datum);}
总结

以上是内存溢出为你收集整理的java – ListView中的Android日期格式全部内容,希望文章能够帮你解决java – ListView中的Android日期格式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1105424.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存