解析日志日期格式

import java.io.Serializable;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class ParseDateUtil implements Serializable {

	private static final long serialVersionUID = 5608532423753884772L;
	//	待转换字符串日期格式
	private static String parse_format = "[dd/MMM/yyyy:HH:mm:ss Z]";
//	待转换日期时区类型
	private static Locale locale = Locale.US;
//	需要转换目标日期格式
	private static String format_format = "yyyy-MM-dd HH:mm:ss";
	
	/**
	 * @description 解析日期格式
	 * @param date 需要转换的日期
	 * @param parse_format 需要转换的日志格式描述
	 * @param locale 需要转换的日期的时区类型
	 * @param format_format 目标日期格式
	 * @return String 目标日期格式描述的字符串
	 */
	public static String parser(String date,String parse_format,Locale locale,String format_format){
		
		String strDate = "";
		SimpleDateFormat parser = new SimpleDateFormat(parse_format,locale);
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		
		
		try {
			strDate = formatter.format(parser.parse(date));
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			strDate = formatter.format(new Date());
		}
		
		return strDate;
	}
	
	/**
	 * @description 默认解析日期格式,由[dd/MMM/yyyy:HH:mm:ss Z](如[09/Apr/2018:18:16:47 +0800])格式转为yyyy-MM-dd HH:mm:ss(如2018-04-09 18:16:47)格式
	 * @param date 需要转换的日期 
	 * @return
	 */
	public static String parser(String date){
		return parser(date, parse_format,locale,format_format);
	}
	
	public static void main(String[] args){
		String strDate = "[08/May/2018:16:26:06 +0800]";
		System.out.println(ParseDateUtil.parser(strDate));
	}
	
}
附,日期格式说明文档链接:https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值