Method Output
LocalTime.of(13, 12, 11) 13:12:11
LocalTime.MIDNIGHT 00:00
LocalTime.NOON 12:00
LocalTime.now() Current time from system clock
LocalTime.MAX The maximum supported local time 23:59:59.999999999
LocalTime.MIN The minimum supported local time 00:00 LocalTime.ofSecondOfDay(84399) 23:59:59 , Obtains Time from second-of-day value LocalTime.ofNanoOfDay(2000000000) 00:00:02 , Obtains Time from nanos-of-day value
Section 18.1: Amount of time between two LocalTime
There are two equivalent ways to calculate the amount of time unit between two LocalTime: (1) through
until(Temporal, TemporalUnit) method and through (2) TemporalUnit.between(Temporal, Temporal).
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;
public class AmountOfTime {
public static void main(String[] args) {
LocalTime start = LocalTime.of(1, 0, 0); // hour, minute, second
LocalTime end = LocalTime.of(2, 10, 20); // hour, minute, second
long halfDays1 = start.until(end, ChronoUnit.HALF_DAYS); // 0
long halfDays2 = ChronoUnit.HALF_DAYS.between(start, end); // 0
long hours1 = start.until(end, ChronoUnit.HOURS); // 1
long hours2 = ChronoUnit.HOURS.between(start, end); // 1
long minutes1 = start.until(end, ChronoUnit.MINUTES); // 70
long minutes2 = ChronoUnit.MINUTES.between(start, end); // 70
long seconds1 = start.until(end, ChronoUnit.SECONDS); // 4220
long seconds2 = ChronoUnit.SECONDS.between(start, end); // 42 20
long millisecs1 = start.until(end, ChronoUnit.MILLIS); // 4220000
long millisecs2 = ChronoUnit.MILLIS.between(start, end); // 4220000
long microsecs1 = start.until(end, ChronoUnit.MICROS); // 4220000000
long microsecs2 = ChronoUnit.MICROS.between(start, end); // 4220000000
long nanosecs1 = start.until(end, ChronoUnit.NANOS); // 4220000000000
long nanosecs2 = ChronoUnit.NANOS.between(start, end); // 4220000000000
// Using others ChronoUnit will be thrown UnsupportedTemporalTypeException.
// The following methods are examples thereof. long
days1 = start.until(end, ChronoUnit.DAYS); long days2
= ChronoUnit.DAYS.between(start, end);
}
}
LocalTime is an immutable class and thread-safe, used to represent time, often viewed as hour-min-sec. Time is represented to nanosecond precision. For example, the value “13:45.30.123456789” can be stored in a LocalTime.
This class does not store or represent a date or time-zone. Instead, it is a description of the local time as seen on a wall clock. It cannot represent an instant on the time-line without additional information such as an offset or time- zone. This is a value based class, equals method should be used for comparisons.
Fields
MAX – The maximum supported LocalTime, ’23:59:59.999999999′. MIDNIGHT, MIN, NOON
Important Static Methods
now(), now(Clock clock), now(ZoneId zone), parse(CharSequence text)
Important Instance Methods
isAfter(LocalTime other), isBefore(LocalTime other), minus(TemporalAmount amountToSubtract), minus(long amountToSubtract, TemporalUnit unit), plus(TemporalAmount amountToAdd), plus(long amountToAdd, TemporalUnit unit)
ZoneId zone = ZoneId.of(“Asia/Kolkata”); LocalTime now = LocalTime.now(); LocalTime now1 = LocalTime.now(zone); LocalTime then = LocalTime.parse(“04:16:40”); |
Difference in time can be calculated in any of following ways
long timeDiff = Duration.between(now, now1).toMinutes();long timeDiff1 = java.time.temporal.ChronoUnit.MINUTES.between(now2, now1); |
You can also add/subtract hours, minutes or seconds from any object of LocalTime.
minusHours(long hoursToSubtract), minusMinutes(long hoursToMinutes), minusNanos(long nanosToSubtract), minusSeconds(long secondsToSubtract), plusHours(long hoursToSubtract), plusMinutes(long hoursToMinutes), plusNanos(long nanosToSubtract), plusSeconds(long secondsToSubtract)
now.plusHours(1L); now1.minusMinutes(20L); |
Section 18.3: Time Modification
You can add hours, minutes, seconds and nanoseconds:
LocalTime time = LocalTime.now(); LocalTime addHours = time.plusHours(5); // Add 5 hours LocaLTime addMinutes = time.plusMinutes(15) // Add 15 minutes LocalTime addSeconds = time.plusSeconds(30) // Add 30 seconds LocalTime addNanoseconds = time.plusNanos(150_000_000) // Add 150.000.000ns (150ms) |
Section 18.4: Time Zones and their time dierence
import java.time.LocalTime; |
import java.time.ZoneId; import java.time.temporal.ChronoUnit; public class Test { public static void main(String[] args) { ZoneId zone1 = ZoneId.of(“Europe/Berlin”); ZoneId zone2 = ZoneId.of(“Brazil/East”); LocalTime now = LocalTime.now(); LocalTime now1 = LocalTime.now(zone1); LocalTime now2 = LocalTime.now(zone2); System.out.println(“Current Time : ” + now); System.out.println(“Berlin Time : ” + now1); System.out.println(“Brazil Time : ” + now2); long minutesBetween = ChronoUnit.MINUTES.between(now2, now1); System.out.println(“Minutes Between Berlin and Brazil : ” + minutesBetween +”mins”); } } |
About us and this blog
We are a digital marketing company with a focus on helping our customers achieve great results across several key areas.
Request a free quote
We offer professional SEO services that help websites increase their organic search score drastically in order to compete for the highest rankings even when it comes to highly competitive keywords.
Subscribe to our newsletter!
More from our blog
See all postsRecent Posts
- Chapter120:YieldKeyword 20/05/2024
- Chapter119:LockStatement 19/05/2024
- Chapter118:Makingavariablethreadsafe 18/05/2024