Я хочу проверять и анализировать даты, используя simpleDateFormat в формате "ггггммдд"
Это также позволяет 100624, который анализируется до 10 года (54 года после смерти Юлия Цезаря). Даты также будут примерно 1970 года, поэтому я не хочу соглашаться с SimpleDateFornat ("yymmdd").
Мне интересно, есть ли способ заставить четырехзначный год форматировать с помощью SimpleDateFormat? Я близок к тому, чтобы сделать тест на регулярное выражение заранее, но, возможно, есть разумный способ использовать (Simple) DateFormat ()?
Как и просили код, все усложняется, и мое исследование было наполовину. Для начала использовался формат yyyy-MM-dd (он был получен из переменной, в которой был неправильный Javadoc). Однако, как указано в ответе ниже, yyyyMMdd вынуждает четырехлетнюю цифру. Поэтому мой вопрос изменен на Как заставить четырехзначный год для формата "гггг-мм-дд". И почему "yyyyMMdd" ведет себя иначе?
public void testMaturity() {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
sdf.setLenient(false);
System.out.println(" " + sdf.format(sdf.parse("40-12-14")));
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMdd");
sdf.setLenient(false);
System.out.println(" " + sdf2.format(sdf2.parse("401214")));
fail();
} catch (ParseException pe) {
assertTrue(true);
}
Какие отпечатки 0040-12-14