about云开发

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 12317|回复: 3

Apache日志格式字符串获取转换时间格式

[复制链接]

666

主题

314

听众

293

收听

版主

Rank: 7Rank: 7Rank: 7

积分
6538

活跃会员热心会员推广达人宣传达人突出贡献优秀版主论坛元老

发表于 2014-8-5 00:14:59 | 显示全部楼层 |阅读模式


183.131.11.98 - - [01/Aug/2014:01:01:05 +0800] "GET /thread-5981-1-1.html HTTP/1.1" 200 18152 "http://www.baidu.com/s?wd=cocos2dx%203.2%20wp8%E6%94%AF%E6%8C%81&pn=30&oq=cocos2dx%203.2%20wp8%E6%94%AF%E6%8C%81&tn=28035039_2_pg&ie=utf-8&rsv_page=1" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 UBrowser/1.0.349.1252 Safari/537.36"

上文所示,Apache获取字符串之后,将其转换为时间格式,也就是首先将字符串转换为“dd/MMM/yyyy:HH:mm:ss”
然后,在转换为常规时间格式“yyyy-MM-dd HH:mm:ss”,如何转换可以看下文






java中“dd/MMM/yyyy:HH:mm:ss”转换为格式“yyyy-MM-dd HH:mm:ss”

工作遇到时间格式转换问题,

就是在日志分析时,

需要将格式“15/Oct/2009:14:00:00 +0800”转为格式“2009-10-15 14:00:00”,

找了好久没有找到合适的,终于在友人的帮助下解决了:

String viewtime = " 15/Oct/2009:14:00:00 +0800 ";



Date time = new Date();

//Z 对于格式化来说,使用 RFC 822 4-digit 时区格式 ,Locale.US表示使用了美国时间
SimpleDateFormat sdf =new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss Z", Locale.US);

time = sdf.parse(viewtime);

SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");


viewtime = sdf2.format(time);

顺便抽出时间总结了一下java中的时间知识点:

表示年的----- yyyy, e.g  2009

表示月的-----MMM,e.g  October

            -----MMM,e.g  Oct

            -----MM  ,e.g   10

表示日的-----dd    ,e.g   15

表示星期几的-----dddd,  e.g   Tuesday

0-23小时的------HH,e.g  14

表示分钟的-----mm,e.g  30

表示秒的--------ss,e.g    59

4

主题

2

听众

0

收听

中级会员

Rank: 3Rank: 3

积分
222
发表于 2014-8-5 11:47:16 | 显示全部楼层
  学习了。正需要。。我还是截取。处理的。。太笨了

0

主题

17

听众

55

收听

高级会员

Rank: 4

积分
2775
QQ
发表于 2014-12-31 11:33:08 | 显示全部楼层
舒舒坦坦过日子,折折腾腾学技术

0

主题

3

听众

3

收听

中级会员

Rank: 3Rank: 3

积分
599
发表于 2017-2-23 15:10:29 | 显示全部楼层
非常感谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

QQ|小黑屋|about云开发-学问论坛|社区 ( 京ICP备12023829号

GMT+8, 2018-11-17 02:13 , Processed in 0.383482 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2 Licensed

快速回复 返回顶部 返回列表