Строка формата SimpleDateFormat с 00 приводит к невозможности разобрать дату - PullRequest
3 голосов
/ 23 сентября 2010

Следующий код вызывает исключение «Unparseable date» при выполнении. Можно ли как-то сказать SimpleDateFormat, что строка даты должна заканчиваться на 00?

public class Main {
public static void main(String[] args) {
    SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss00");
    try {
        Date date = format.parse("2009030916301600");
    } catch (ParseException ex) {
        System.out.println("Exception" + ex);
    }
}

}

1 Ответ

4 голосов
/ 23 сентября 2010

Используйте одинарные кавычки для представления буквального текста.

SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss'00'");

См. Также:


Обновление : здесь не сработало после быстрого теста.Я подозреваю раскрытый угловой случай в Javadoc.В конце концов, вы можете просто оставить их в стороне.

SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");

В качестве альтернативы, вы также можете использовать S для представления их в виде миллисекунд.Это не повлияет на конечный результат, так как все равно равно нулю.

SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssS");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...