Я хочу проверить и проанализировать даты с помощью simpleDateFormat с форматом "yyyymmdd" Это также позволяет 100624, который анализируется до 10 года (спустя 54 года после смерти Юлиуса Цезара). Даты также будут похожи на 1970 год, поэтому я не хочу соглашаться с SimpleDateFornat ( "yymmdd" ).
Мне интересно, есть ли способ форсировать четырехзначный формат года с помощью SimpleDateFormat? Я близок к тому, чтобы выполнить предварительный тест regexp, но, возможно, есть умный способ использования (Simple) DateFormat()?
В соответствии с запросом кода все становится все сложнее, и мои исследования были наполовину. Для начала использовался формат yyyy-MM-dd (он исходил из переменной, у которой был неправильный javadoc). Однако, как указано в ответе ниже yyyyMMdd, он набирает четырехлетнюю цифру. Поэтому мой вопрос изменился на "Как заставить четырехзначный год для формата" yyyy-MM-dd ". И почему" 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