意识到SimpleDateFormat
的性能和线程问题后,我决定使用FastDateFormat
,直到意识到FastDateFormat
仅用于格式化,而不进行解析!
是否有FastDateFormat
的替代方法,可以立即使用,并且比SimpleDateFormat
快得多?
我相信FastDateFormat
是最快的代码之一,因此任何与之差不多的速度都可以。
只是好奇,为什么FastDateFormat
不支持解析?它不会严重限制其使用吗?
最佳答案
最好的猜测是,通过限制FastDateFormat仅显示,以使其保持快速。
Apache Commons DateUtils
具有parseDate
函数,但内部使用SimpleDateFormat
。
另一种方法是使用JodaTime库。它完全替代了DateFormat
,Date
和Calendar
对象的处理。
JodaTime有一个 DateTimeFormatter
,可用于从字符串创建 DateTime
对象(JodaTime相当于Java的Date
对象)。
这样的用法示例如下:
String strInputDateTime = "2010-12-27"; // An example, this would really come from outside
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd");
DateTime dt = fmt.parseDateTime(strInputDateTime);
我不知道这是否真的比
SimpleDateFormat
快。