栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么在java.time中无法获得以分钟或小时为单位的持续时间?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么在java.time中无法获得以分钟或小时为单位的持续时间?

“为什么要这样实施?”

其他答案涉及

toXxx()
允许查询小时/分钟的方法。我将尝试解决原因。

TemporalAmount
接口和
get(TemporalUnit)
方法在此过程的后期添加。我个人并不完全相信我们有足够的证据来证明在该领域中进行设计的正确方法,但是我有些不安
TemporalAmount
。我相信这样做会稍微混淆API。

事后看来,我认为其中

TemporalAmount
包含正确的方法,但我认为
get(TemporalUnit)
应该使用不同的方法名称。原因是
get(TemporalUnit)
本质上是框架级别的方法-
它不是为日常使用而设计的。不幸的是,方法的名称
get
并不意味着这一点,导致盲蝽象调用
get(ChronoUnit.MINUTES)
Duration

所以,想的办法

get(TemporalUnit)
是想象一个低层次的框架观看量为
Map<TemporalUnit,Long>
这里
Duration
是一个
Map
大小两次与中键
SECONDS
NANOS

在是相同的,这样,

Period
从低级别的框架看作
Map
大小三-
DAYS
MONTHS
YEARS
(其幸好具有较少错误的几率)。

总体而言,对应用程序代码的最佳建议是忽略该方法

get(TemporalUnit)
。使用
getSeconds()
getNano()
toHours()
toMinutes()
来代替。

最后,从a获取“ hh:mm:ss”的一种方法

Duration
是:

LocalTime.MIDNIGHT.plus(duration).format(DateTimeFormatter.ofPattern("HH:mm:ss"))

一点都不漂亮,但是它的有效期不到一天。

to…Part
Java 9中的新方法

现在以Java
9实现的JDK-8142936问题添加了以下方法来访问的每个部分

Duration

  • toDaysPart
  • toHoursPart
  • toMinutesPart
  • toSecondsPart
  • toMillisPart
  • toNanosPart


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/449712.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号