java,字符串转换为日期

java中的日期处理:

需求将字符串转换为日期,tomcat日志的格式如下:

222.78.34.118 - - [13/Jun/2013:00:01:03 +0800] "GET /hq/image.jsp?indexType=cityIndex&productNo=&cityNo=5160&width=231&hight=185&titlePosition=b¬Title=yes HTTP/1.1" 200 2571 "http://hznp.szap.com/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Maxthon/4.0.5.4000 Chrome/26.0.1410.43 Safari/537.1"

需要将日志分析入库,那么日期格式如上:
13/Jun/2013:00:01:03
那么如何转换为Date类型呢?

代码如下:

SimpleDateFormat df = new SimpleDateFormat("dd/MMM/yyyy:hh:mm:ss",Locale.US);//不添加Local.US这个参数的话,MMM会被解析成中文“六月”
Date d = df.parse(s);

查看api文档可以看到,对于缩写的月份,使用的格式MMM,但是SimpleDateFormat默认是使用本地的语言环境,所以MMM对应的是中文的:“一月”,“二月”···,所以在其后面加上Locale.US指定语言环境是英文环境,这样就可以正确解析了。


同时感慨一下,做了两年,又开始做日记解析,汗!这是从头开始吗!?当时在金鹏的第一个开发任务就是做日志解析的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值