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
C8581FAE
ReplyDeleteYalova
Yozgat
Kilis
Burdur
Sinop
Kırıkkale
Malatya
Van
Bartın
F4F502BB
ReplyDeleteFındıklı
Girne
Akhisar
Balgat
Cebeci
Kahramankazan
Beyoğlu
Bayındır
Bahçelievler