Как правильно распарсить дату?

124
21 июня 2021, 00:50

Код:

dper.setV_date(request.getOperationDate() != null ? new SimpleDateFormat("dd.MM.yyyy HH:mm:ss").parse("02.07.2018"):null);

Ошибка:

java.text.ParseException: Unparseable date: "02.07.2018"
        at java.text.DateFormat.parse(Unknown Source)
        at com.is.korona_pay.KoronaPayDBHelper.insertHandleOperation(KoronaPayDBHelper.java:292)
Answer 1
import java.io.IOException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
public class Main { 
    private final static String INPUT_PATERN = "E MMM dd HH:mm:ss z yyyy";
    private final static String OUTPUT_PATERN = "dd.MM.yyyy";
    private final static String DATE_TEXT = "Mon Jul 02 00:00:00 UZT 2018";
    public static void main(String[] args) throws IOException, ParseException {
        //befor java 8
        DateFormat inputFormatter = new SimpleDateFormat(INPUT_PATERN, Locale.US);
        Date date = inputFormatter.parse(DATE_TEXT);        
        DateFormat outputFormatter =new SimpleDateFormat(OUTPUT_PATERN);
        outputFormatter.setTimeZone(TimeZone.getTimeZone("PLT"));
        System.out.println(outputFormatter.format(date));  
        //java 8
        DateTimeFormatter formater = DateTimeFormatter.ofPattern(INPUT_PATERN).withLocale(Locale.US);
        ZonedDateTime localeDate = ZonedDateTime.parse(DATE_TEXT, formater);
        System.out.println(localeDate.format(DateTimeFormatter.ofPattern(OUTPUT_PATERN)));
    }
}
Answer 2

Вы задаете формат даты с временем, а по факту у вас времени нету во входных данных Вот так всё будет работать:

new SimpleDateFormat("dd.MM.yyyy").parse("02.07.2018");
READ ALSO
Singleton, как лучше инициализировать поля

Singleton, как лучше инициализировать поля

Есть некоторый класс, который удобно реализовать как singletonКак лучше инициализировать его поля(информация о том как их заполнять приходит...

72
Нажатие кнопки на сайте(не своём) через Java

Нажатие кнопки на сайте(не своём) через Java

Есть сайт, нужно, чтобы при запуске программы нажималась кнопка на сайтеСайт не должен открываться в браузере

116
RecyclerView перемещение на один элемент вперед

RecyclerView перемещение на один элемент вперед

У меня есть горизонтальный RecyclerView и хотелось бы по бокам сделать стрелочки которые бы перемещали список на один элемент вперед, как этого...

104
Про implement интерфейсов

Про implement интерфейсов

обнаружено, что если

86