Преобразование между LocalTime и java.sql.Time

Примеры Java для преобразования LocalTime в java.sql.Time и наоборот.

Обратите внимание, что класс Time добавляет операции форматирования и анализа для поддержки синтаксиса экранирования JDBC для значений времени. Его компоненты даты должны быть установлены на «нулевую эпоху» и не должны быть доступны.

1. Преобразовать LocalTime в java.sql.Time

Используйте метод java.sql.Time.valueOf() для получения времени SQL из экземпляра LocalTime. Такой экземпляр времени содержит то же значение часа, минуты и секунды, что и localtime.

Поле наносекунд из LocalTime не является частью вновь созданного объекта Time.

LocalTime now = LocalTime.now();Time time = Time.valueOf( now );System.out.println(time); //13:54:20

2. java.sql.Time в локальное время

Используйте метод java.sql.Time.toLocalTime() для получения LocalTime с тем же значением часа, минуты и секунды, что и это время. Поле LocalTime наносекунд будет установлено в ноль.

//Get SQL time instancejava.sql.Time sqlTime = new Time(new Date().getTime());//Get LocalTime from SQL timeLocalTime localTime = sqlTime.toLocalTime();System.out.println( localTime ); //14:00:33

Исходный код на Github

Прокрутить вверх