java – ListView中的Android日期格式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – ListView中的Android日期格式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2752字,纯文字阅读大概需要4分钟。
内容图文
![java – ListView中的Android日期格式](/upload/InfoBanner/zyjiaocheng/720/d33755e46a0b410e8cd5cf1de84b3b6c.jpg)
多亏了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日期格式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。