SimpleDateFormat让我这样做:
SimpleDateFormat mySimpleDateFormatter = new SimpleDateFormat("dd-MMM-yyyy");
但FastDateFormat没有:
import org.apache.commons.lang3.time.FastDateFormat;
//...
FastDateFormat myFastDateFormatter = new FastDateFormat(str, tz, loc);
现在它抱怨说:
“构造函数FastDateFormat(String,TimeZone,Locale)不可见”
错误信息并没有把我带到任何地方......我做错了什么?
答案 0 :(得分:1)
与Java SimpleDateFormat
不同,您不能简单地声明Apache的FastDateFormat
类的实例。
相反,FastDateFormat
通过Factory Method Pattern静态提供课程实例 - 您必须将课程称为'静态方法getInstance
,如下所示:
String dateFormatPattern = "yyyy-mm-dd'T'HH:mm:ss.SSSZ";
FastDateFormat myFastDateFormatter = FastDateFormat.getInstance(dateFormatPattern);
现在您已加载myFastDateFormatter,并配置了该日期格式模式。
您可以使用它将字符串解析为真实日期,假设这些字符串符合您的dateFormatPattern:
String dateString = "2014-04-03T14:02:57.182+0200";
Date myDate = myFastDateFormatter.parse(dateString);