Как правильно вставлять дату из 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