入力がタイムスタンプ形式と一致するかどうかを確認する必要がありますyyyy-MM-dd'T'HH:mm:ss.SSS
。
例えば。2012-08-16T11:07:10.793
どうすればいいですか?
入力がタイムスタンプ形式と一致するかどうかを確認する必要がありますyyyy-MM-dd'T'HH:mm:ss.SSS
。
例えば。2012-08-16T11:07:10.793
どうすればいいですか?
try {
formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
date = (Date) formatter.parse("2012-08-16T11:07:10.793");
} catch(ParseException e) {
// It does not match your input
}
または、いつものように通常の表現を使用します...
編集:マバのタイプミスの発見を考慮に入れました。
正規表現:
^(\d{4})\D?(0[1-9]|1[0-2])\D?([12]\d|0[1-9]|3[01])(\D?([01]\d|2[0-3])\D?([0-5]\d)\D?([0-5]\d)?\D?(\d{3})?)?$
編集が遅れてすみません。日付のパターンが一致するかどうかだけを確認したい場合は、次のような正規表現を使用できます。
String date = "2012-08-16T11:07:10.793";
String regex = "^(\\d{4})\\D?(0[1-9]|1[0-2])\\D?([12]\\d|0[1-9]|3[01])(\\D?([01]\\d|2[0-3])\\D?([0-5]\\d)\\D?([0-5]\\d)?\\D?(\\d{3})?)?$";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(date);
if (m.matches()) {
System.out.println("Yes it matches");
} else {
System.out.println("No match");
}