Входные данные:2017-03-15
String date="2017-03-15";
LocalDate localedate = LocalDate.parse( date );
cal = Calendar.getInstance();
cal.set(Calendar.YEAR, localedate.getYear());
cal.set(Calendar.MONTH, localedate.getMonthValue());
cal.set(Calendar.DAY_OF_MONTH, localedate.getDayOfMonth());
date1 = cal.getTime();
На выходе я получаю - Sat Apr 15 16:12:47 GMT+02:00 2017. Почему с месяцем ошибка? 2-й момент: я записываю дату в postgresql, а мне в бд записывается не только дата но и время. Как этого избежать. Для справки: тип столбца в postgresql, я использую date. В документации написано - дата (без времени суток). В Pojo которое маппиться на таблицу использую соответственно java.util.Date
Из документации на LocalDate getMonthValue() возвращает значение месяца от 1 до 12, для Calendar же set(Calendar.MONTH, ...) принимает значения месяца от 0, см. Calendar.JANUARY и т.д.
java.util.Date -- содержит дату и время, если в БД сохраняется только дата, то после чтения из БД ваше поля типа java.util.Date будет содержать дату и 00:00:00. Чтобы избежать используйте сразу LocalDate.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости