【发布时间】:2021-09-06 06:47:50
【问题描述】:
许多应用程序支持人类可读的间隔,如 20d、1y、2m1d 等。
是否存在解析这些内容的既定最佳实践?经验告诉我们,由于我们的日历很古怪,时间解析通常会给粗心的旅行者带来大量陷阱。
【问题讨论】:
-
我想你在找
java.time.Duration。 -
是的:这些不是间隔,而是持续时间。
-
@ElliottFrisch 虽然
Duration适合保存数据并且确实支持解析,但它只支持将自己描述为PnDTnHnMn.nS的语法,这至少有点不那么人类可读 比给定的例子。 -
@Izruo 机械转换然后使用内置解析器是一种选择。与使用自定义代码解析一样。无论哪种方式,使用内置类型都可能比从头开始更容易。