Создать jodatime LocalDate из java.sql.Time - PullRequest
2 голосов
/ 14 декабря 2009

Я новичок в joda-time , и я нигде не нашел примеров, чтобы сделать несколько простых вещей.

Я хочу создать объект для сохранения значения времени, считанного из таблицы в базе данных (java.sql.Time - например, "18:30:00"). Мне не важен часовой пояс, поэтому я думаю, что мне нужно LocalDate. Но проблема в том, что я не смог создать LocalDate объект на основе этого Time объекта.

Я пытался безуспешно LocalDate.fromDateFields(), DateTimeParser.parseInto(), DateTimeParser.parseDateTime().

EDIT: Я должен был использовать LocalTime. Эти работы:

java.sql.Time time = Time.valueOf("18:30:00");
LocalTime lt1 = LocalTime.fromDateFields(time);
LocalTime lt2 = new LocalTime(time);

1 Ответ

4 голосов
/ 14 декабря 2009

Согласно документации , вы должны иметь возможность создать LocalDate напрямую, передав ему java.util.Date в качестве единственного аргумента конструктора. Поскольку java.sql.Time расширяет java.util.Date, вы должны иметь возможность

final LocalDate ld = new LocalDate(mySqlTime);

Это работает для меня:

System.out.println(new LocalDate(Time.valueOf("18:30:00")));

С другой стороны, это не имеет смысла, поскольку вы всегда получите 1 января 1970 года. Но я думаю, вы знаете, что делаете.

...