我想从日志消息中获取日期。在日志消息中,我有不同类型的日期格式。
为前,
Sample1.txt --- Jun 17 09:28:53 Sample sentences for this example
Sample2.txt --- 17 Jun 2011 09:28:53 Sample sentences for this example
从这些消息中,我需要获得"date"(17 Jun 2011 09:28:53 or Jun 17 09:28:53)
。是否有最简单有效的方法来执行此操作。
答案 0 :(得分:2)
您可以SimpleDateFormat
来解析字符串
SimpleDateFormat format = new SimpleDateFormat("dd MMM yyyy hh:mm:ss");
Date date = format.parse("17 Jun 2011 09:28:53");
答案 1 :(得分:2)
使用SimpleDateFormat
并尝试所有可能的格式(捕捉ParseException
)
所以创建一个List<SimpleDateFormat>
,启动它(介意并发问题,它不是线程安全的),并在循环中捕获ParseException
确切的日期格式字符串应该在您的记录器配置中找到(或者您可以从消息中推断出来)