Java 8 – How to convert LocalTime to java.sql.Time and vice-versa ?

In this article, we will learn how to convert LocalTime to Sql time and vice-versa in Java 1.8 version

Conversion of LocalTime to SQL Time & vice-versa :

  1. Convert LocalTime to SQL Time using Time.valueOf() method
  2. Convert SQL Time to LocalTime using toLocalTime() method of SQL Time class

1. Convert LocalTime to SQL Time :

  • LocalTime contains hour, minute, second and nanosecond parts in (HH:mm:ss.nnn) format
  • But while converting LocalTime to SQL Time using Time.valueOf() method nanosecond part is left and thus SQL Time contains only hour, minute and second parts in (HH:mm:ss) format as shown in the below illustration

ConvertLocalTimeToJavaSqlTime.java

package in.bench.resources.java8.localtime.examples;

import java.sql.Time;
import java.time.LocalTime;

public class ConvertLocalTimeToJavaSqlTime {

	public static void main(String[] args) {

		// get current System Time
		LocalTime localTime = LocalTime.now();
		System.out.println("Current System time is :- \n" 
				+ localTime);


		// convert LocalTime to java.sql.Time
		Time time = Time.valueOf(localTime);
		System.out.print("\nConversion of LocalTime to java.sql.Time \n" 
				+ time);
	}
}

Output:

Current System time is :- 
10:05:38.153248700

Conversion of LocalTime to java.sql.Time 
10:05:38

2. Convert SQL Time to LocalTime :

  • SQL Time class contains a method called toLocalTime() which converts SQL Time to LocalTime as shown in the below illustration
  • Note: as SQL Time doesn’t poses nanosecond part so after conversion LocalTime won’t have nanosecond part as well

ConvertJavaSqlTimeToLocalTime.java

package in.bench.resources.java8.localtime.examples;

import java.sql.Time;
import java.time.LocalTime;
import java.util.Date;

public class ConvertJavaSqlTimeToLocalTime {

	public static void main(String[] args) {

		// get SQL time
		Time sqlTime = new Time(new Date().getTime());
		System.out.println("SQL Time is :- \n" 
				+ sqlTime);


		// convert java.sql.Time to LocalTime
		LocalTime localTime = sqlTime.toLocalTime();
		System.out.print("\nConversion of java.sql.Time to LocalTime \n" 
				+ localTime);
	}
}

Output:

SQL Time is :- 
10:05:57

Conversion of java.sql.Time to LocalTime 
10:05:57

Related Articles :

References :

Happy Coding !!
Happy Learning !!

Java 8 – How to calculate number of Days between two LocalDate instances ?
Java 8 – How to sort List by OffsetTime in 4 ways ?