Как правильно вставлять дату из excel в postgresql через java код

мне нужно вставить дату из excel в мою таблицу Postgresql через JavaFX при помощи ctrl + v. Дата в excel у меня записана 05.01.2021 при вставке с помощью ctrl + v я обрабатываю вот таким вот кодом:

// clipboardCellContent это данные которые приходят из буфера, и приходят они в String формате
 
 SimpleDateFormat dateToDB = new SimpleDateFormat("dd.MM.yyyy");
    // dateQuery - java.UTIL.Date думал сначала так, а потов в java.sql.Date
                    Date dateQuery = null;
                    try {
                        dateQuery = dateToDB.parse(clipboardCellContent);
                    } catch (ParseException e) {
                        e.printStackTrace();
                    }
                    table.getItems().get(rowTable).setDate(dateQuery);

Но на выходе из кода у меня выходит вот такой формат времени: Tue Jan 05 00:00:00: UZT 2021 что совершенно мне не подходит


Ответы (1 шт):

Автор решения: Владислав Цой

Я решил вопрос обычным алгоритмом, просто, я переделал строку из 05.01.2021 в 2021-01-05 (Формат строки которую может обрабатывать java.sql.Date) при помощи вот этого кода:

 private static String dateTransform(String dataItem){

// создаем массив элементов из строки, каждый элемент отделяется точкой
        String[] arrayString = dataItem.split("\\.");
        StringBuilder builder = new StringBuilder();
//проходимся по массиву берем элемент и ставим в начало
        for(int i = arrayString.length - 1; i >= 0; i--){
            if(!(i == 0)){
                builder.append(arrayString[i]).append("-");
            }
            else {
// если элемент последний то "-" ставить не нужно
                builder.append(arrayString[i]);
            }
        }
        return builder.toString().trim();
    }

Не уверен в логичности действия, но по мне так это лучше чем мучиться с этими ужасными java.util.Date и SimpleDateFormate

→ Ссылка