public final class LocalTime extends Object implements Temporal, TemporalAdjuster, Comparable<LocalTime>, Serializable
10:15:30
,如10:15:30
。
LocalTime
是一个不可变的日期时间对象,代表一个时间,通常被看作是小时 - 秒。 时间表示为纳秒精度。 例如,值“13:45.30.123456789”可以存储在LocalTime
。
它不存储或表示日期或时区。 相反,它是在挂钟上看到的当地时间的描述。 它不能代表时间线上的即时信息,而没有附加信息,如偏移或时区。
ISO-8601日历系统是当今世界绝大多数的现代民用日历系统。 该API假定所有日历系统在时间上使用相同的表示,这个类。
这是一个value-based课; 使用身份敏感的操作(包括引用相等(的==
上的实例),标识哈希码,或同步) LocalTime
可具有不可预测的结果,应当避免。 应使用equals
方法进行比较。
Modifier and Type | Field and Description |
---|---|
static LocalTime |
MAX
最大支持
LocalTime ,
LocalTime :59:59.999999999'。
|
static LocalTime |
MIDNIGHT
午夜开始的时候,'00:00'。
|
static LocalTime |
MIN
最低支持
LocalTime ,'00:00'。
|
static LocalTime |
NOON
中午的时候,“12:00”。
|
Modifier and Type | Method and Description |
---|---|
Temporal |
adjustInto(Temporal temporal)
调整指定的时间对象与此对象具有相同的时间。
|
LocalDateTime |
atDate(LocalDate date)
结合这个时间与创建一个
LocalDateTime 的日期。
|
OffsetTime |
atOffset(ZoneOffset offset)
结合这个时间与偏移创建一个
OffsetTime 。
|
int |
compareTo(LocalTime other)
比较这个
LocalTime 到另一个时间。
|
boolean |
equals(Object obj)
检查这次是否等于另一次。
|
String |
format(DateTimeFormatter formatter)
此时使用指定的格式化程序格式化。
|
static LocalTime |
from(TemporalAccessor temporal)
从时间对象获取一个
LocalTime 的实例。
|
int |
get(TemporalField field)
从此时间获取指定字段的
int 。
|
int |
getHour()
获取时间字段。
|
long |
getLong(TemporalField field)
从此时间获取指定字段的值为
long 。
|
int |
getMinute()
获取小时字段。
|
int |
getNano()
获得纳秒第二场。
|
int |
getSecond()
获得第二分钟的字段。
|
int |
hashCode()
这个时候的哈希码。
|
boolean |
isAfter(LocalTime other)
检查
LocalTime 是否在指定的时间之后。
|
boolean |
isBefore(LocalTime other)
检查这个
LocalTime 是否在指定的时间之前。
|
boolean |
isSupported(TemporalField field)
检查指定的字段是否受支持。
|
boolean |
isSupported(TemporalUnit unit)
检查指定的单位是否受支持。
|
LocalTime |
minus(long amountToSubtract, TemporalUnit unit)
返回此次的副本,减去指定的金额。
|
LocalTime |
minus(TemporalAmount amountToSubtract)
返回此次的副本,减去指定的金额。
|
LocalTime |
minusHours(long hoursToSubtract)
以指定的时间段返回此
LocalTime 的副本,
LocalTime 数字。
|
LocalTime |
minusMinutes(long minutesToSubtract)
返回此
LocalTime 的副本,其中指定的时间间隔以分钟为单位。
|
LocalTime |
minusNanos(long nanosToSubtract)
以指定的时间段返回此
LocalTime 的副本,以纳秒为单位。
|
LocalTime |
minusSeconds(long secondsToSubtract)
返回此
LocalTime 的副本,其中指定的时间间隔以秒为单位。
|
static LocalTime |
now()
从默认时区的系统时钟获取当前时间。
|
static LocalTime |
now(Clock clock)
从指定的时钟获取当前时间。
|
static LocalTime |
now(ZoneId zone)
从指定时区的系统时钟获取当前时间。
|
static LocalTime |
of(int hour, int minute)
从一小时分钟获取一个
LocalTime 的实例。
|
static LocalTime |
of(int hour, int minute, int second)
从一小时,一分钟和秒钟获得一个
LocalTime 的实例。
|
static LocalTime |
of(int hour, int minute, int second, int nanoOfSecond)
从一小时,分钟,秒和纳秒获取
LocalTime 一个实例。
|
static LocalTime |
ofNanoOfDay(long nanoOfDay)
从
LocalTime 值获取
LocalTime 的实例。
|
static LocalTime |
ofSecondOfDay(long secondOfDay)
从第二天的值获取一个
LocalTime 的实例。
|
static LocalTime |
parse(CharSequence text)
从一个文本字符串(如
10:15 获取一个
LocalTime 的实例。
|
static LocalTime |
parse(CharSequence text, DateTimeFormatter formatter)
使用特定的格式化
LocalTime 从文本字符串获取
LocalTime 的实例。
|
LocalTime |
plus(long amountToAdd, TemporalUnit unit)
返回此时添加了指定数量的副本。
|
LocalTime |
plus(TemporalAmount amountToAdd)
返回此时添加了指定数量的副本。
|
LocalTime |
plusHours(long hoursToAdd)
以指定的时间(以小时为单位)返回此
LocalTime 的副本。
|
LocalTime |
plusMinutes(long minutesToAdd)
以指定的时间(以分钟为单位)返回此
LocalTime 的副本。
|
LocalTime |
plusNanos(long nanosToAdd)
返回这个
LocalTime 的副本,指定的时间段以纳秒为单位。
|
LocalTime |
plusSeconds(long secondstoAdd)
以指定的时间段(以秒为单位)返回此
LocalTime 的副本。
|
<R> R |
query(TemporalQuery<R> query)
此时使用指定的查询进行查询。
|
ValueRange |
range(TemporalField field)
获取指定字段的有效值的范围。
|
long |
toNanoOfDay()
提取时间为天数,从
0 到
24 * 60 * 60 * 1,000,000,000 - 1 。
|
int |
toSecondOfDay()
提取时间为一天的时间,从
0 到
24 * 60 * 60 - 1 。
|
String |
toString()
此时输出为
String ,如
10:15 。
|
LocalTime |
truncatedTo(TemporalUnit unit)
返回此
LocalTime 的副本,
LocalTime 时间。
|
long |
until(Temporal endExclusive, TemporalUnit unit)
根据指定的单位计算直到另一次的时间量。
|
LocalTime |
with(TemporalAdjuster adjuster)
返回此次调整后的副本。
|
LocalTime |
with(TemporalField field, long newValue)
返回此时间的副本,并将指定的字段设置为新值。
|
LocalTime |
withHour(int hour)
返回此日期值更改的
LocalTime 的副本。
|
LocalTime |
withMinute(int minute)
返回这个
LocalTime 的副本,小时值更改。
|
LocalTime |
withNano(int nanoOfSecond)
返回这个
LocalTime 的副本,纳秒变化值。
|
LocalTime |
withSecond(int second)
返回这个
LocalTime 的副本,其中二分之一值更改。
|
public static final LocalTime MIN
LocalTime
:00'。
这是当天开始的午夜时间。
public static final LocalTime MAX
LocalTime
, LocalTime
:59:59.999999999'。
这是在一天结束之前的午夜之前的时间。
public static final LocalTime MIDNIGHT
public static final LocalTime NOON
public static LocalTime now()
public static LocalTime now(Clock clock)
这将查询指定的时钟以获取当前时间。 使用此方法可以使用备用时钟进行测试。 替代时钟可以使用dependency injection
引入 。
clock
- 要使用的时钟,不为空
public static LocalTime of(int hour, int minute)
LocalTime
的实例。
这将以指定的小时和分钟返回LocalTime
。 第二和第十二个字段将被设置为零。
hour
- 代表从0到23的小时
minute
- 表示从0到59的小时
DateTimeException
- 如果任何字段的值超出范围
public static LocalTime of(int hour, int minute, int second)
LocalTime
的实例。
这将返回一个LocalTime
与指定的小时,分钟和秒。 纳秒场将被设置为零。
hour
- 代表从0到23的小时
minute
- 表示从0到59的小时
second
- 从0到59的秒表示
DateTimeException
- 如果任何字段的值超出范围
public static LocalTime of(int hour, int minute, int second, int nanoOfSecond)
LocalTime
的实例。
这返回一个LocalTime
与指定的小时,分钟,秒和纳秒。
hour
- 代表从0到23的小时
minute
- 表示从0到59的小时
second
- 从0到59的秒表示
nanoOfSecond
- 代表从0到999,999,999的纳秒
DateTimeException
- 如果任何字段的值超出范围
public static LocalTime ofSecondOfDay(long secondOfDay)
LocalTime
的实例。
这将返回一个LocalTime
与指定的第二天。 纳秒场将被设置为零。
secondOfDay
- 第二天,从
0
到
24 * 60 * 60 - 1
DateTimeException
- 如果第二天的值无效
public static LocalTime ofNanoOfDay(long nanoOfDay)
LocalTime
价值获得一个LocalTime
的实例。
这返回一个LocalTime
与指定的纳秒。
nanoOfDay
-
nanoOfDay
天,从
0
到
24 * 60 * 60 * 1,000,000,000 - 1
DateTimeException
- 如果天数的
DateTimeException
无效
public static LocalTime from(TemporalAccessor temporal)
LocalTime
的实例。
这取决于指定时间的本地时间。 A TemporalAccessor
代表日期和时间信息的任意集合,该工厂将其转换为LocalTime
一个实例。
转换使用TemporalQueries.localTime()
查询,它依赖于提取NANO_OF_DAY
字段。
该方法中,功能接口的签名相匹配TemporalQuery
允许它在通过方法参考,查询中使用LocalTime::from
。
temporal
- 要转换的时间对象,不为null
DateTimeException
- 如果无法转换为
LocalTime
public static LocalTime parse(CharSequence text)
10:15
获取一个LocalTime
的实例。
字符串必须表示有效时间,并使用DateTimeFormatter.ISO_LOCAL_TIME
进行解析。
text
- 要解析的文本,如“10:15:30”,不为空
DateTimeParseException
- 如果文本无法解析
public static LocalTime parse(CharSequence text, DateTimeFormatter formatter)
LocalTime
从文本字符串获取LocalTime
的实例。
使用格式化程序解析文本,返回一个时间。
text
- 要解析的文本,不为空
formatter
- 要使用的格式化程序,不为null
DateTimeParseException
- 如果文本无法解析
public boolean isSupported(TemporalField field)
这将检查此时间是否可以查询指定的字段。 如果是假,然后调用range
, get
和with(TemporalField, long)
方法会抛出异常。
如果该字段是ChronoField
,那么查询是在这里实现的。 支持的字段有:
NANO_OF_SECOND
NANO_OF_DAY
MICRO_OF_SECOND
MICRO_OF_DAY
MILLI_OF_SECOND
MILLI_OF_DAY
SECOND_OF_MINUTE
SECOND_OF_DAY
MINUTE_OF_HOUR
MINUTE_OF_DAY
HOUR_OF_AMPM
CLOCK_HOUR_OF_AMPM
HOUR_OF_DAY
CLOCK_HOUR_OF_DAY
AMPM_OF_DAY
ChronoField
实例将返回false。
如果该字段不是ChronoField
,则该方法的结果是通过调用TemporalField.isSupportedBy(TemporalAccessor)
this
作为参数的this
获得的。 字段是否受支持由字段决定。
isSupported
在接口
TemporalAccessor
field
- 要检查的字段,null返回false
public boolean isSupported(TemporalUnit unit)
这将检查指定的单位是否可以添加到该日期时间或从该日期时间中减去。 如果是false,那么调用plus(long, TemporalUnit)
和minus
方法会抛出异常。
如果单位是ChronoUnit
,那么查询是在这里实现的。 支持的单位是:
NANOS
MICROS
MILLIS
SECONDS
MINUTES
HOURS
HALF_DAYS
ChronoUnit
实例将返回false。
如果该单元不是ChronoUnit
,则此方法的结果是通过调用获得TemporalUnit.isSupportedBy(Temporal)
传递this
作为参数。 设备是否受支持由本机决定。
isSupported
在界面
Temporal
unit
- 要检查的单位,null返回false
public ValueRange range(TemporalField field)
范围对象表示字段的最小和最大有效值。 这次用于提高返回范围的准确性。 如果不可能返回范围,因为该字段不受支持或出于某种其他原因,则抛出异常。
如果该字段是ChronoField
,那么查询是在这里实现的。 supported fields
将返回适当范围的实例。 所有其他ChronoField
实例将抛出一个UnsupportedTemporalTypeException
。
如果该字段是不是一个ChronoField
,则此方法的结果是通过调用获得TemporalField.rangeRefinedBy(TemporalAccessor)
传递this
作为参数。 是否可以获得范围由字段确定。
range
在界面
TemporalAccessor
field
- 查询范围的字段,不为null
DateTimeException
- 如果无法获取字段的范围
UnsupportedTemporalTypeException
- 如果该字段不被支持
public int get(TemporalField field)
int
。
此时会查询指定字段的值。 返回的值将始终在该字段的值的有效范围内。 如果不可能返回值,因为该字段不受支持或出于某种其他原因,则抛出异常。
如果该字段是ChronoField
,那么查询是在这里实现的。 supported fields
将返回基于此时间的有效值,除了NANO_OF_DAY
和MICRO_OF_DAY
,它们太大,无法适应int
并抛出DateTimeException
。 所有其他ChronoField
实例将会抛出一个UnsupportedTemporalTypeException
。
如果该字段是不是一个ChronoField
,则此方法的结果是通过调用获得TemporalField.getFrom(TemporalAccessor)
传递this
作为参数。 该值是否可以获得,该值代表什么值由该字段决定。
get
在接口
TemporalAccessor
field
- 要获取的字段,不为null
DateTimeException
- 如果无法获取字段的值,或者该值超出了该字段的有效值的范围
UnsupportedTemporalTypeException
- 如果该字段不受支持或值的范围超过
int
ArithmeticException
- 如果发生数字溢出
public long getLong(TemporalField field)
long
。
此时会查询指定字段的值。 如果不可能返回值,因为该字段不受支持或出于某种其他原因,则抛出异常。
如果该字段是ChronoField
,那么查询是在这里实现的。 supported fields
将返回基于此时间的有效值。 所有其他ChronoField
实例都会抛出一个UnsupportedTemporalTypeException
。
如果该字段是不是一个ChronoField
,则此方法的结果是通过调用获得TemporalField.getFrom(TemporalAccessor)
传递this
作为参数。 该值是否可以获得,该值代表什么值由该字段决定。
getLong
在界面
TemporalAccessor
field
- 要获取的字段,不为null
DateTimeException
- 如果无法获取该字段的值
UnsupportedTemporalTypeException
- 如果该字段不被支持
ArithmeticException
- 如果发生数字溢出
public int getHour()
public int getMinute()
public int getSecond()
public int getNano()
public LocalTime with(TemporalAdjuster adjuster)
这返回一个LocalTime
,基于这一个,随着时间的推移。 调整使用指定的调整器策略对象进行。 阅读调整器的文档,了解将进行什么调整。
一个简单的调整器可以简单地设置一个字段,如小时字段。 更复杂的调整器可能会将时间设置为一天中的最后一个小时。
该方法的结果是通过以this
作为参数调用TemporalAdjuster.adjustInto(Temporal)
方法获得的。
此实例是不可变的,不受此方法调用的影响。
with
在界面
Temporal
adjuster
- 调整器使用,不为空
LocalTime
基于
this
进行了调整,不为null
DateTimeException
- 如果不能进行调整
ArithmeticException
- 如果发生数字溢出
public LocalTime with(TemporalField field, long newValue)
这将返回一个LocalTime
,基于此,更改指定字段的值。 这可以用于更改任何支持的字段,如小时,分钟或秒。 如果不可能设置该值,因为该字段不受支持或出于某种其他原因,则抛出异常。
如果该字段是ChronoField
,那么在这里实现调整。 支持的字段的行为如下:
NANO_OF_SECOND
- 返回具有LocalTime
的LocalTime。 小时,分和秒将保持不变。 NANO_OF_DAY
- 返回指定LocalTime
的LocalTime。 这完全取代了时间,相当于ofNanoOfDay(long)
。 MICRO_OF_SECOND
- 返回一个LocalTime
,其纳秒将被指定的微秒乘以1000替换。 小时,分和秒将保持不变。 MICRO_OF_DAY
- 返回一个LocalTime
的微型日LocalTime。 这完全取代了时间,相当于使用ofNanoOfDay(long)
与微日乘以1,000。 MILLI_OF_SECOND
- 返回一个LocalTime
,其纳秒用指定的毫秒乘以1,000,000。 小时,分和秒将保持不变。 MILLI_OF_DAY
- 返回一个指定为LocalTime
的LocalTime。 这完全取代了时间,相当于使用ofNanoOfDay(long)
与毫日的乘以100万。 SECOND_OF_MINUTE
- 返回一个LocalTime
的LocalTime。 小时,分钟和毫秒都不变。 SECOND_OF_DAY
- 返回指定的LocalTime
的LocalTime。 纳秒将不变。 MINUTE_OF_HOUR
- 返回具有LocalTime
分钟时间的LocalTime。 小时,秒钟和纳秒将保持不变。 MINUTE_OF_DAY
- 返回具有LocalTime
分钟的LocalTime。 二分之一秒和二分之一秒将不变。 HOUR_OF_AMPM
- 返回一个LocalTime
与指定的上午pm。 AM / PM,分钟小时,秒钟和纳秒将不变。 CLOCK_HOUR_OF_AMPM
- 返回一个LocalTime
与指定的时钟上午pm。 AM / PM,分钟小时,秒钟和纳秒将不变。 HOUR_OF_DAY
- 返回一个LocalTime
与指定的小时。 分钟小时,秒钟和纳秒将保持不变。 CLOCK_HOUR_OF_DAY
- 返回具有LocalTime
时钟时钟的LocalTime。 分钟小时,秒钟和纳秒将保持不变。 AMPM_OF_DAY
-返回LocalTime
与指定的AM / PM。 上午的小时,分钟,小时和二分之一秒将不变。 在所有情况下,如果新值超出该字段值的有效范围,那么将抛出一个DateTimeException
。
所有其他ChronoField
实例将抛出一个UnsupportedTemporalTypeException
。
如果该字段是不是一个ChronoField
,则此方法的结果是通过调用获得TemporalField.adjustInto(Temporal, long)
传递this
作为参数。 在这种情况下,该字段决定是否以及如何调整即时。
此实例是不可变的,不受此方法调用的影响。
with
在界面
Temporal
field
- 要在结果中设置的字段,不为null
newValue
- 结果中字段的新值
LocalTime
基于
this
与指定的字段集,不为null
DateTimeException
- 如果该字段无法设置
UnsupportedTemporalTypeException
- 如果该字段不被支持
ArithmeticException
- 如果发生数字溢出
public LocalTime withHour(int hour)
LocalTime
的副本,并更改日期值。
此实例是不可变的,不受此方法调用的影响。
hour
- 设置结果的小时数,从0到23
LocalTime
基于此时间与请求的小时,不为null
DateTimeException
- 如果小时值无效
public LocalTime withMinute(int minute)
LocalTime
的副本,小时值更改。
此实例是不可变的,不受此方法调用的影响。
minute
- 在0到59之间设置结果的小时
LocalTime
基于此时间与请求的分钟,不为null
DateTimeException
- 如果分钟值无效
public LocalTime withSecond(int second)
LocalTime
的副本,其中LocalTime
了第二分钟的值。
此实例是不可变的,不受此方法调用的影响。
second
- 设置结果的
second
,从0到59
LocalTime
基于此时与请求的第二个,不为null
DateTimeException
- 如果第二个值无效
public LocalTime withNano(int nanoOfSecond)
LocalTime
的副本,纳秒变化值。
此实例是不可变的,不受此方法调用的影响。
nanoOfSecond
- 纳秒在设置结果中,从0到999,999,999
LocalTime
基于这个时间与请求的纳秒,不为null
DateTimeException
- 如果
DateTimeException
值无效
public LocalTime truncatedTo(TemporalUnit unit)
LocalTime
以截断的时间。
截断时间返回原始时间的副本,其中小于指定单位的字段设置为零。 例如,使用minutes
单元进行截断将将二分之一和纳秒的字段设置为零。
该单位必须有一个duration ,划分为标准日期的长度,无余数。 这包括所有提供的时间单位在ChronoUnit
和DAYS
。 其他单位抛出异常。
此实例是不可变的,不受此方法调用的影响。
unit
- 截断到的单位,不为null
LocalTime
基于此时间截断,不为null
DateTimeException
- 如果无法截断
UnsupportedTemporalTypeException
- 如果不支持本机
public LocalTime plus(TemporalAmount amountToAdd)
这将返回一个LocalTime
,基于此,添加指定的数量。 量通常是Duration
但也可以是任何其他类型的实现TemporalAmount
接口。
通过调用TemporalAmount.addTo(Temporal)
将计算委托给金额对象。 数量执行可以以任何方式实现添加,但是它通常会回调到plus(long, TemporalUnit)
。 请参阅金额执行的文档,以确定是否可以成功添加。
此实例是不可变的,不受此方法调用的影响。
plus
在界面
Temporal
amountToAdd
- 要添加的金额,不为null
LocalTime
基于这个时间加上,不是null
DateTimeException
- 如果不能添加
ArithmeticException
- 如果发生数字溢出
public LocalTime plus(long amountToAdd, TemporalUnit unit)
这返回一个LocalTime
,基于这一个,以添加的单位数量。 如果不可能添加金额,因为单位不受支持或出于某种其他原因,则抛出异常。
如果该字段是ChronoUnit
,那么在这里实现添加。 支持的字段的行为如下:
NANOS
-返回LocalTime
添加了纳秒指定数量。 这相当于plusNanos(long)
。 MICROS
- 返回一个LocalTime
了指定微秒数的LocalTime。 这相当于plusNanos(long)
,数量乘以1,000。 MILLIS
-返回LocalTime
添加了指定的毫秒数。 相当于plusNanos(long)
,金额乘以1,000,000。 SECONDS
- 返回一个LocalTime
,并添加指定的秒数。 这相当于plusSeconds(long)
。 MINUTES
- 返回具有LocalTime
分钟数的LocalTime。 这相当于plusMinutes(long)
。 HOURS
-返回LocalTime
与加入小时指定数目。 这相当于plusHours(long)
。 HALF_DAYS
- 返回指定加入LocalTime
的LocalTime。 这相当于plusHours(long)
,数量乘以12。 所有其他ChronoUnit
实例将抛出一个UnsupportedTemporalTypeException
。
如果该字段是不是一个ChronoUnit
,则此方法的结果是通过调用获得TemporalUnit.addTo(Temporal, long)
传递this
作为参数。 在这种情况下,单元确定是否以及如何执行添加。
此实例是不可变的,不受此方法调用的影响。
plus
在界面
Temporal
amountToAdd
- 添加到结果中的单位数量可能为负数
unit
- 要添加的单位,不为空
LocalTime
基于这个时间与指定的量添加,不为null
DateTimeException
- 如果不能添加
UnsupportedTemporalTypeException
- 如果不支持本机
ArithmeticException
- 如果发生数字溢出
public LocalTime plusHours(long hoursToAdd)
LocalTime
的副本,小时数。
这样就增加了指定的小时数,返回一个新的时间。 计算周期在午夜。
此实例是不可变的,不受此方法调用的影响。
hoursToAdd
- 要添加的时间可能为负数
LocalTime
基于这个时间加上的时间,不是null
public LocalTime plusMinutes(long minutesToAdd)
LocalTime
的副本。
这样就添加了指定的分钟数,返回一个新的时间。 计算周期在午夜。
此实例是不可变的,不受此方法调用的影响。
minutesToAdd
- 要添加的分钟,可能为负数
LocalTime
基于这个时间加上分钟,不为null
public LocalTime plusSeconds(long secondstoAdd)
LocalTime
的副本,以秒为单位。
这样就增加了指定的秒数,返回一个新的时间。 计算周期在午夜。
此实例是不可变的,不受此方法调用的影响。
secondstoAdd
- 要添加的秒数可能为负数
LocalTime
基于这个时间添加的秒,不为null
public LocalTime plusNanos(long nanosToAdd)
LocalTime
的副本,以纳秒为单位。
这样就增加了指定的纳秒数,返回一个新的时间。 计算周期在午夜。
此实例是不可变的,不受此方法调用的影响。
nanosToAdd
-
nanosToAdd
添加,可能为负数
LocalTime
基于这个时间加上纳秒,不为null
public LocalTime minus(TemporalAmount amountToSubtract)
这将返回一个LocalTime
,基于此,减去指定的数量。 量通常是Duration
但也可以是任何其他类型的实现TemporalAmount
接口。
通过调用TemporalAmount.subtractFrom(Temporal)
将计算委托给金额对象。 数量执行可以任意方式实现减法,但是它通常会回调到minus(long, TemporalUnit)
。 请参阅数量实施的文档,以确定是否可以成功减去它们。
此实例是不可变的,不受此方法调用的影响。
minus
在界面
Temporal
amountToSubtract
- 减去量,不为null
LocalTime
基于这个时间用减法做的,不是null
DateTimeException
- 如果不能进行减法
ArithmeticException
- 如果发生数字溢出
public LocalTime minus(long amountToSubtract, TemporalUnit unit)
这将返回一个LocalTime
,基于这一个,减去的单位数量。 如果不可能减去金额,因为该单位不受支持或出于某种其他原因,则会抛出异常。
这种方法相当于plus(long, TemporalUnit)
,数量被否定。 请参阅该方法,以了解如何添加,从而减去运算。
此实例是不可变的,不受此方法调用的影响。
minus
在界面
Temporal
amountToSubtract
- 从结果中减去单位的数量可能为负数
unit
- 减去量的单位,不为空
LocalTime
基于此时间减去指定的数量,不为null
DateTimeException
- 如果不能进行减法
UnsupportedTemporalTypeException
- 如果不支持本机
ArithmeticException
- 如果发生数字溢出
public LocalTime minusHours(long hoursToSubtract)
LocalTime
的副本,小时减去。
这样从这个时间减去指定的小时数,返回一个新的时间。 计算周期在午夜。
此实例是不可变的,不受此方法调用的影响。
hoursToSubtract
- 减去的时间可能为负数
LocalTime
基于此时间减去的小时数,不为空
public LocalTime minusMinutes(long minutesToSubtract)
LocalTime
的副本,其中指定的时间间隔以分钟为单位。
这将从此时间减去指定的分钟数,返回一个新的时间。 计算周期在午夜。
此实例是不可变的,不受此方法调用的影响。
minutesToSubtract
- 减去的
minutesToSubtract
可能为负数
LocalTime
基于这个时间减去分钟,不为null
public LocalTime minusSeconds(long secondsToSubtract)
LocalTime
的副本,其中指定的时间间隔以秒为单位。
从此时间减去指定的秒数,返回一个新的时间。 计算周期在午夜。
此实例是不可变的,不受此方法调用的影响。
secondsToSubtract
- 减去的秒数可能为负数
LocalTime
基于此时间减去秒,不为空
public LocalTime minusNanos(long nanosToSubtract)
LocalTime
的副本,减去纳秒。
从这个时间减去指定的纳秒数,返回一个新的时间。 计算周期在午夜。
此实例是不可变的,不受此方法调用的影响。
nanosToSubtract
-
nanosToSubtract
减去,可能是负数
LocalTime
基于此时间减去纳秒,不为空
public <R> R query(TemporalQuery<R> query)
这样可以使用指定的查询策略对象查询此时间。 TemporalQuery
对象定义了用于获取结果的逻辑。 阅读查询的文档,以了解该方法的结果。
该方法的结果是通过调用指定的查询this
作为参数的TemporalQuery.queryFrom(TemporalAccessor)
方法获得的。
query
在接口
TemporalAccessor
R
- 结果的类型
query
- 要调用的查询,不为null
DateTimeException
- 如果无法查询(由查询定义)
ArithmeticException
- 如果发生数字溢出(由查询定义)
public Temporal adjustInto(Temporal temporal)
这返回与时间变化相同的输入的相同可观察类型的时间对象。
该调整是相当于使用Temporal.with(TemporalField, long)
传递ChronoField.NANO_OF_DAY
作为字段。
在大多数情况下,通过使用Temporal.with(TemporalAdjuster)
来更正呼叫模式:
// these two lines are equivalent, but the second approach is recommended
temporal = thisLocalTime.adjustInto(temporal);
temporal = temporal.with(thisLocalTime);
此实例是不可变的,不受此方法调用的影响。
adjustInto
在界面
TemporalAdjuster
temporal
- 要调整的目标对象,不为null
DateTimeException
- 如果不能进行调整
ArithmeticException
- 如果发生数字溢出
public long until(Temporal endExclusive, TemporalUnit unit)
这可以计算两个LocalTime
对象之间的时间量,单个TemporalUnit
。 起点和终点是this
和指定的时间。 如果结束在开始之前,结果将为负数。 所述Temporal
传递给此方法被转换为LocalTime
使用from(TemporalAccessor)
。 例如,可以使用startTime.until(endTime, HOURS)
两次之间的小时数。
计算返回一个整数,表示两次之间的完整单位数。 例如,从11:30到13:29之间的小时数将只有一个小时,因为它是两分钟不到两分钟。
使用这种方法有两种等效的方法。 第一个是调用这个方法。 二是使用TemporalUnit.between(Temporal, Temporal)
:
// these two lines are equivalent
amount = start.until(end, MINUTES);
amount = MINUTES.between(start, end);
应该根据这种做法进行选择,使代码更易读。
在ChronoUnit
的这种方法中进行计算 。 单位NANOS
, MICROS
, MILLIS
, SECONDS
, MINUTES
, HOURS
和HALF_DAYS
都支持。 其他ChronoUnit
值会抛出异常。
如果该单元不是ChronoUnit
,则此方法的结果是通过调用获得TemporalUnit.between(Temporal, Temporal)
传递this
作为第一个参数和转换后的输入时间作为第二个参数。
此实例是不可变的,不受此方法调用的影响。
until
在界面
Temporal
endExclusive
- 结束时间,排他,转换为
LocalTime
,不为空
unit
- 衡量金额的单位,不为空
DateTimeException
- 如果不能计算金额,或者结束时间不能转换为
LocalTime
UnsupportedTemporalTypeException
- 如果不支持本机
ArithmeticException
- 如果发生数字溢出
public String format(DateTimeFormatter formatter)
这一次将被传递给格式化程序来生成一个字符串。
formatter
- 要使用的格式化程序,不为null
DateTimeException
- 打印过程中是否发生错误
public LocalDateTime atDate(LocalDate date)
LocalDateTime
的日期。
这将返回一个LocalDateTime
,从此时间起指定的日期。 日期和时间的所有可能的组合都是有效的。
date
- 要结合的日期,不为null
public OffsetTime atOffset(ZoneOffset offset)
OffsetTime
。
这将返回一个OffsetTime
指定的偏移量从这个时候形成。 所有可能的时间和偏移的组合都是有效的。
offset
- 要组合的偏移量,不为空
public int toSecondOfDay()
0
到
24 * 60 * 60 - 1
。
public long toNanoOfDay()
0
到
24 * 60 * 60 * 1,000,000,000 - 1
。
public int compareTo(LocalTime other)
LocalTime
到另一个时间。
比较是基于一天内当地时间的时间位置。 它与“等于”一致,如Comparable
所定义。
compareTo
在接口
Comparable<LocalTime>
other
- 其他时间比较,不为null
NullPointerException
- 如果
other
为空
public boolean isAfter(LocalTime other)
LocalTime
是否在指定的时间之后。
比较是基于一天内时间的时间位置。
other
- 其他时间来比较,不是null
NullPointerException
- 如果
other
为空
public boolean isBefore(LocalTime other)
LocalTime
是否在指定的时间之前。
比较是基于一天内时间的时间位置。
other
- 其他时间比较,不为null
NullPointerException
- 如果
other
为空
public boolean equals(Object obj)
比较是基于一天内时间的时间位置。
只比较类型为LocalTime
对象,其他类型返回false。 要比较两个TemporalAccessor
实例的日期,请使用ChronoField.NANO_OF_DAY
作为比较器。
equals
在
Object
obj
- 要检查的对象,null返回false
Object.hashCode()
, HashMap
public int hashCode()
hashCode
在
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)