I was reading some log files checking dates and graphing the result with jfreechart and came up with, seems quite clean and neat.
package bob.blog;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* The Class FindADateInAString.
*/
public class FindADateInAString {
/** The formatter. */
private static SimpleDateFormat formatter = (SimpleDateFormat) DateFormat
.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
/**
* The main method.
*
* @param args the arguments
* @throws ParseException the parse exception
*/
public static void main(String[] args) throws ParseException {
List< Date > dates = returnDatesFromAString("This string contains some random dates: 2010-03-06 01:11:06 and 2009-03-10 23:11:05");
System.out.println(dates);
}
/**
* Return dates from a string.
*
* @param toParse the to parse
* @return the list
* @throws ParseException the parse exception
*/
public static List< Date > returnDatesFromAString(final String toParse) throws ParseException{
List< Date > dates = new ArrayList< Date >();
String regex = "(\\d+\\-)+\\d+\\s(\\d+\\:)+\\d+";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(toParse);
while (matcher.find()) {
formatter.applyPattern("yyyy-MM-dd hh:mm:ss");
dates.add(formatter.parse(matcher.group()));
}
return dates;
}
}
50D83DA95B
ReplyDeletebeğeni satın al
Yabancı Takipçi
Tiktok Takipçi Kasma
Kaspersky Etkinleştirme Kodu
Coin Kazanma