读书人

java格式化Apache的访问日志里面的时间

发布时间: 2012-05-04 12:36:09 作者: rapoo

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);

读书人网 >Java Web开发

热点推荐