在java中,如何从日志消息中获取字符串(日期)

时间:2011-06-17 15:11:44

标签: java string

我想从日志消息中获取日期。在日志消息中,我有不同类型的日期格式。

为前,

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)。是否有最简单有效的方法来执行此操作。

2 个答案:

答案 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

确切的日期格式字符串应该在您的记录器配置中找到(或者您可以从消息中推断出来)