Строка на дату с месяцем все строчные в Java - PullRequest
2 голосов
/ 18 января 2012

У меня есть строка с датой в следующем формате:

dd-mm-yyyy

с указанием месяца в нижнем регистре. Например: 25-августа-2019 Теперь я попытался использовать SimpleDateFormat для преобразования моей строки в дату, но у меня есть следующее исключение:

java.text.ParseException: Unparseable date: "25-aug-2019"
    at java.text.DateFormat.parse(Unknown Source)
    at org.whoislibrary.servers.WhoisCom.parseResponse(WhoisCom.java:37)
    at org.whoislibrary.WhoisAbstract.executeQuery(WhoisAbstract.java:44)
    at org.whoislibrary.WhoisCommand.executeQuery(WhoisCommand.java:69)
    at org.whoislibrary.WhoisMain.main(WhoisMain.java:10)

Это код, который я использовал:

DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
try {
        Date expDate = df.parse(dateString).trim());
    System.out.println(expDate.toString());
} catch (ParseException e) {
    e.printStackTrace();
}                   

Я думаю, что проблема в том, что MM относится к названию месяца, которое начинается с заглавной буквы (август, июль и т. Д.). Существует опция или класс, такой как SimpleDateFormat, который помогает мне преобразовать эту строку в Date. или это нужно делать вручную?

Ответы [ 5 ]

4 голосов
/ 18 января 2012

Хорошо, в вашем коде у вас есть:

new SimpleDateFormat("dd-MM-yyyy")

Что должно быть:

new SimpleDateFormat("dd-MMM-yyyy")

Поскольку часть месяца в вашей строке содержит 3 буквы (МММ), а не 2 (ММ))

3 голосов
/ 18 января 2012

использование dd-MMM-yyyy

1 голос
/ 18 января 2012

Ваша дата "25 августа 2019" в формате "dd-MMM-yyyy", а не "dd-MM-yyyy".Таким образом, вы получаете ошибку разбора.Вы должны использовать "dd-MMM-yyyy" при создании объекта SimpleDateFormat.

0 голосов
/ 18 января 2012

См. javaDocs java.text.SimpleDateFormat

0 голосов
/ 18 января 2012
 DateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
    try {
            Date expDate = df.parse("25-aug-2019");
        System.out.println(expDate.toString());
    } catch (ParseException e) {
        e.printStackTrace();
    }     
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...