原始的Nginx日期数据为:[28/Nov/2014:11:56:09 +0800]
需要将[]替换掉:
timeLocal = [28/Nov/2014:11:56:09 +0800]timeLocal = timeLocal.replace("[", "");timeLocal = timeLocal.replace("]", "");
以下格式需要注意几点:
(1)必须是3个M
(2)+0800表示的是时区的信息,用Z可以解析
(3)必须是Locale.ENGLISH,如果写成CHINESE会报错
SimpleDateFormat formatter = new SimpleDateFormat("dd/MMM/yyyy:hh:mm:ss Z", Locale.ENGLISH);
Date date = formatter.parse(timeLocal);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("转换后的日期格式:"+format.format(date));