Java LocalTime class belongs to the Java 8 DateTime API.
Java LocalTime类属于Java 8 DateTime API 。
Java LocalTime (Java LocalTime)
- LocalTime provides time without any time zone information. It is very much similar to observing the time from a wall clock which just shown the time and not the time zone information. LocalTime提供的时间没有任何时区信息。 这与从墙上时钟观察时间非常相似,后者只是显示时间而不是时区信息。
- The assumption from this API is that all the calendar system uses the same way of representing the time. 该API的假设是所有日历系统都使用相同的时间表示方式。
- It is a value-based class, so use of reference equality (==), identity hash code or synchronization on instances of LocalTime may have unexpected results and is highly advised to be avoided. The equals method should be used for comparisons. 这是一个基于值的类,因此在本地时间实例上使用引用相等(==),标识哈希码或同步可能会产生意外结果,因此强烈建议避免使用。 equals方法应用于比较。
- The LocalTime class is immutable that mean any operation on the object would result in a new instance of LocalTime reference. LocalTime类是不可变的 ,这意味着对该对象进行的任何操作都会导致LocalTime引用的新实例。
如何创建LocalTime对象 (How to Create LocalTime Object)
LocalTime objects can be created using the below mentioned ways.
可以使用以下提到的方式创建LocalTime对象。
- LocalTime instance can be created using the
now()
method of LocalTime class. There are two other overloaded now() methods that takes argument asClock
andZoneId
.
可以使用LocalTime类的LocalTime lt = LocalTime.now(); System.out.println(lt); //15:43:43.212787 LocalTime lt1 = LocalTime.now(Clock.systemDefaultZone()); System.out.println(lt1); //15:43:43.213454 LocalTime lt2 = LocalTime.now(ZoneId.systemDefault()); System.out.println(lt2); //15:43:43.213542
now()
方法创建LocalTime实例。 还有另外两个重载的now()方法,它们的参数为Clock
和ZoneId
。 - We can create LocalTime instance using
of()
method. There are multiple overloaded methods for different arguments for hour, minute, second and nanosecond.
我们可以使用LocalTime lt = LocalTime.of(10, 30); System.out.println(lt); //10:30 LocalTime lt1 = LocalTime.of(10, 30, 45); System.out.println(lt1); //10:30:45 LocalTime lt2 = LocalTime.of(10, 30, 45, 12345); System.out.println(lt2); //10:30:45.000012345 notice the left padding LocalTime lt3 = LocalTime.ofInstant(Instant.now(), ZoneId.systemDefault()); System.out.println(lt3); //15:48:58.358195
of()
方法创建LocalTime实例。 对于小时,分钟,秒和纳秒级的不同参数,有多种重载方法。 - We can use LocalTime parse() method to convert String to instance of LocalTime.
我们可以使用LocalTime parse()方法将String转换为LocalTime的实例。LocalTime lt = LocalTime.parse("10:30"); System.out.println(lt); //10:30 LocalTime lt1 = LocalTime.parse("10:30:45.1234"); System.out.println(lt1); //10:30:45.123400 LocalTime lt2 = LocalTime.parse("10.3.45.1234", DateTimeFormatter.ofPattern("H.m.s.n")); System.out.println(lt2); //10:03:45.000001234
Java LocalTime方法 (Java LocalTime Methods)
There are methods in LocalTime class for different purposes. We have divided it into following categories.
LocalTime类中有一些用于不同目的的方法。 我们将其分为以下几类。
- Getting time from LocalTime –
getHour()
,getMinute()
,getSecond()
andgetNano()
. 从LocalTime获取时间–getHour()
,getMinute()
,getSecond()
和getNano()
。 - Time manipulation –
plusHours()
,minusHours()
,plusMinutes()
,minusMinutes()
,plusSeconds()
,minusSeconds()
,plusNanos()
andminusNanos()
. 时间操纵–plusHours()
,minusHours()
,plusMinutes()
,minusMinutes()
,plusSeconds()
,minusSeconds()
,plusNanos()
和minusNanos()
。 - Comparison in LocalTime –
isAfter()
andisBefore()
to check if this LocalTime is after/before the specified time. We can use these methods to compare two local times.isAfter()
比较–isAfter()
和isBefore()
以检查此isBefore()
是否在指定时间之后/之前。 我们可以使用这些方法来比较两个当地时间。
Java LocalTime示例 (Java LocalTime Example)
Let’s look at java LocalTime example program to explore all the above mentioned methods.
让我们看一下Java LocalTime示例程序,以探索上述所有方法。
package com.journaldev.java;
import java.time.LocalTime;
public class LocalTimeExample {
public static void main(String[] args) {
LocalTime lt = LocalTime.now();
System.out.println("Current Time: " + lt);
System.out.println("\nHour: " + lt.getHour());
System.out.println("Minute: " + lt.getMinute());
System.out.println("Second: " + lt.getSecond());
System.out.println("Nanosecond: " + lt.getNano());
// add 2 hours, 10 minutes, 30 seconds and 1000 nanoseconds
lt = lt.plusHours(2);
lt = lt.plusMinutes(10);
lt = lt.plusSeconds(30);
lt = lt.plusNanos(1000);
System.out.println("\nUpdated Time: " + lt);
// minus 2 hours, 10 minutes, 30 seconds and 1000 nanoseconds
lt = lt.minusHours(2);
lt = lt.minusMinutes(10);
lt = lt.minusSeconds(30);
lt = lt.minusNanos(1000);
System.out.println("\nUpdated Time: " + lt);
LocalTime ct = LocalTime.now();
System.out.println("\nlt before ct ? " + lt.isBefore(ct));
System.out.println("lt after ct ? " + lt.isAfter(ct));
}
}
That’s all for Java LocalTime example programs.
Java LocalTime示例程序就这些了。
Reference: API Doc
参考: API文档