我正在将一个项目从Joda-Time过渡到java8的本地时间库,但是遇到了麻烦。
我找不到持续时间的格式化程序。我想要一个自定义的String格式,例如 HHH + MM ,其中75小时15分钟的持续时间格式应为“75 + 15” 。
通过转换为句点并使用PeriodFormatter,可以轻松实现Joda-Time的功能,但是我无法在Java8中找到此类。我想念什么吗?
最佳答案
与JodaTime不同,jsr-310中没有句号/持续时间格式化程序。并非JodaTime的所有功能都已移植到JSR-310(例如,也不是PeriodType)。相反,JSR-310具有某些功能,这些功能在JodaTime中不可用(例如,本地化的工作日数字或带有调节器的策略模式方法)。
Java 9可能会引入某种内置的句点格式(请参阅S. Colebourne的相关内容)。
结论:JSR-310和JodaTime彼此不完全兼容,因此可能需要大量工作。我不会那么热衷于尽快迁移。您是否需要JodaTime不提供的JSR-310特殊功能?
补充说明:您还应该注意以下事实:joda周期(包括从年到秒的所有单位)与jsr310周期(仅年,月,日)或jsr310持续时间(仅小时,分钟,秒和分数秒)。