问题描述
|
我有一个包含许多日期字符串的列表,例如\“ Fri,08 Apr 2011 22:28:00 -0400 \”,并且需要将它们解析为正确的格式(2011年4月8日,星期五)。
我的问题是设备需要非常长的时间才能解析> 10个日期对象,并且有时会耗尽内存。有没有更有效的方式将日期解析为:
SimpleDateFormat sdf = new SimpleDateFormat(\"E,dd MMM yyyy HH:mm:ss Z\",Locale.ENGLISH);
// later in code
try {
Date date = sdf.parse(myDateString);
return DateFormat.format(\"dd. MMMM yyyy\",date).toString();
} catch (java.text.ParseException e) {
}
如何快速解析许多日期字符串?
解决方法
试试这个:FastDateFormat的替代品,可以进行有效的日期解析吗?
,您可以做的一件事就是存储输出
DateFormat
,就像输入DateFormat
一样,这样就不必每次都创建一个新的:
DateFormat parser = new SimpleDateFormat(\"E,dd MMM yyyy HH:mm:ss Z\",Locale.ENGLISH);
DateFormat formatter = new SimpleDateFormat(\"dd. MMMM yyyy\");
// later in code
try {
Date date = parser.parse(myDateString);
return formatter.format(date);
} catch (java.text.ParseException e) {}
,如果可能,将此任务分配给您的数据库(假设使用SQLite),并查看其日期和时间函数在您的情况下是否有用。