java格式化Apache的访问日志里面的时间失败
读取apache的访问日志里面的日期写法是[17/Apr/2012:12:03:46 +0800]
我写的方法想把日期转为标准格式好做比较。
Java code
public void accessDateToDate(){
Date date = new Date();
java.text.DateFormat df = new java.text.SimpleDateFormat ("dd/MMM/yyyy:HH:mm:ss Z");
String testdate = "17/Apr/2012:12:03:46 +0800";
try {
date = df.parse(testdate);
} catch (ParseException e) {
e.printStackTrace();
}
}
出错信息:
java.text.ParseException: Unparseable date: "17/Apr/2012:12:03:46 +0800"
------解决方案--------------------
因为你要格式化的字符串中,月份使用E文显示,所以涉及到本地化(方言)问题,所以需要这样:
DateFormat df = new SimpleDateFormat ("dd/MMM/yyyy:HH:mm:ss Z", Locale.ENGLISH);