欢迎访问鸿雪径,这里介绍软件相关技术、动态以及鸿雪径杂谈,如有技术合作请与站长联系!邮费网 易食烤吧 特产大全网
首页 > JAVA > java SimpleDateFormat处理英文3位字母月份时的注意事项

java SimpleDateFormat处理英文3位字母月份时的注意事项

发布时间:2019-11-27 作者:鸿雪径 点击:1008

今天在处理nginx生成的access log时,发现时间是类似这种格式的:15/Oct/2019:10:20:42,以为只要简单的使用SimpleDateFormat处理即可,自己写了个处理格式dd/MMM/yyyy:HH:mm:ss ,可谁知直接执行竟然报错:

java.text.ParseException: Unparseable date: "15/Oct/2019:10:20:42"
at java.text.DateFormat.parse(DateFormat.java:366)
at cn.hxj.task.AccessLogDayReport.getLogMap(AccessLogDayReport.java:55)
at cn.hxj.task.AccessLogDayReport.runOnce(AccessLogDayReport.java:39)
at cn.hxj.task.AccessLogDayReport.main(AccessLogDayReport.java:70)

代码如下:

SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss");
Date date= sdf2.parse(time);

实际只要在构建SimpleDateFormat时加上, Locale.ENGLISH即可正常识别,即:

SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss", Locale.ENGLISH);


更多关于 SimpleDateFormat 的信息

    暂无相关信息

本站部分文章转载于网上,版权归原作者所有。如果侵犯您的权益,请Email和本站联系!
鸿雪径 www.HongXueJing.com  冀ICP备07017673号-4