首页 > 代码库 > Java将Nginx输出的日志有日期字符串转成Date类型

Java将Nginx输出的日志有日期字符串转成Date类型

原始的Nginx日期数据为:[28/Nov/2014:11:56:09 +0800]

需要将[]替换掉:

<pre name="code" class="java">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));


Java将Nginx输出的日志有日期字符串转成Date类型