Java 8 – How to alter Hour, Minute and Second fields of LocalTime ?

In this article, we will learn how to alter Hour or Minute or Second or Nanosecond fields of LocalTime using different methods provided in Java 1.8 version

Altering Nano/Second/Minute/Hour fields of LocalTime:

  • It is very simple to alter Nano or Second or Minute or Hour fields of LocalTime using below methods,
    1. withNano() – Returns a copy of this LocalTime with the nano-of-second altered
    2. withSecond() – Returns a copy of this LocalTime with the second-of-minute altered
    3. withMinute() – Returns a copy of this LocalTime with the minute-of-hour altered
    4. withHour() – Returns a copy of this LocalTime with the hour-of-day altered
  • In the below illustration, we are going to do alter operations with current LocalTime,
    1. Alter/change/replace Nano field of current LocalTime to 125 using withNano() method
    2. Alter/change/replace Second field of current LocalTime to 47 using withSecond() method
    3. Alter/change/replace Minute field of current LocalTime to 19 using withMinute() method
    4. Alter/change/replace Hour field of current LocalTime to 5 using withHour() method
  • Finally, print LocalTime to the console

AlterLocalTime.java

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

import java.time.LocalTime;

public class AlterLocalTime {

	public static void main(String[] args) {

		// 1. get current system Time
		LocalTime localTime = LocalTime.now();
		System.out.println("Current System Time in ISO_LOCAL_TIME format is = " 
				+ localTime);


		// 1.1 alter nanosecond part to current system Date/time
		LocalTime nanoAltered = localTime.withNano(125);
		System.out.println("\n1. Nanoseconds (125) altered in current system Time is = "
				+ nanoAltered);


		// 1.2 alter second part to current system Date/time
		LocalTime secondAltered = localTime.withSecond(47);
		System.out.println("2. Seconds (47) altered in current system Time is = " 
				+ secondAltered);


		// 1.3 alter minute part to current system Date/time
		LocalTime minuteAltered = localTime.withMinute(19); 
		System.out.println("3. Minutes (19) altered in current system Time is = " 
				+ minuteAltered);


		// 1.4 alter hour part to current system Time
		LocalTime hourAltered = localTime.withHour(5);
		System.out.print("4. Hours (5) altered in current system Time is = " 
				+ hourAltered);
	}
}

Output:

Current System Time in ISO_LOCAL_TIME format is = 10:07:34.427627200

1. Nanoseconds (125) altered in current system Time is = 10:07:34.000000125
2. Seconds (47) altered in current system Time is = 10:07:47.427627200
3. Minutes (19) altered in current system Time is = 10:19:34.427627200
4. Hours (5) altered in current system Time is = 05:07:34.427627200

Related Articles:

References:

Happy Coding !!
Happy Learning !!

Java 8 – How to check whether a LocalTime is Before another LocalTime ?
Java 8 – How to subtract Hour, Minute and Second fields from LocalTime ?