Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 8 java.time中是否有与Joda时间间隔相当的类?_Java 8_Jodatime_Java Time - Fatal编程技术网

Java 8 java.time中是否有与Joda时间间隔相当的类?

Java 8 java.time中是否有与Joda时间间隔相当的类?,java-8,jodatime,java-time,Java 8,Jodatime,Java Time,我正在评估将我的项目从的使用迁移到中。在乔达时代,我大量使用这门课。我在java.time中找不到类似的东西 有类似的类吗?对不起,JSR-310中没有与JodaTime Interval类等效的类。我怀疑这种情况是否会发生,但项目负责人斯蒂芬·科尔伯恩考虑至少在他的外部图书馆“Three Ten Extra”的范围内支持它,见此 如果你对JodaTime感到满意,你应该保留它。并非JodaTime中的所有内容都被移植到Java8(Interval不是唯一的问题) 从2014年12月13日起更新

我正在评估将我的项目从的使用迁移到中。在乔达时代,我大量使用这门课。我在java.time中找不到类似的东西


有类似的类吗?

对不起,JSR-310中没有与JodaTime Interval类等效的类。我怀疑这种情况是否会发生,但项目负责人斯蒂芬·科尔伯恩考虑至少在他的外部图书馆“Three Ten Extra”的范围内支持它,见此

如果你对JodaTime感到满意,你应该保留它。并非JodaTime中的所有内容都被移植到Java8(Interval不是唯一的问题)

从2014年12月13日起更新:


JDK 8 JSR-310没有
interval
类。描述了间隔的概念,以确保可以完成库的其余部分

该项目承载其他非JDK日期时间类,v0.9包括

注:答案更新于2014年12月10日,增加了三十个额外的
时间间隔。

使用番石榴的课程


有关更多详细信息,请参阅。

类java.time.Duration可能会提供类似的功能。一般来说,java8时间包非常全面和灵活

joda.time和java8.time之间还有什么区别?有比较文章吗?@AlexanderMyltsev有很多!有一次,我在我的博客上用德语做了一个比较(非常简短而且过时)。如果我有时间,我应该写一本新的;-)。JSR-310的技术基础肯定更加现代化(例如使用ENUM),内部实现细节更加健康,从而产生更好的性能特征。另一方面,JSR-310过去和将来都不打算成为一个完整的时间库(好吧,Joda time目前还不完整,但提供了更多的功能,如间隔、周期格式化程序等)。一个例外是本地化的工作日NUM,在JSR-310中更好。我刚刚回答了这个问题,我很好奇:这个类有什么问题?@wullxz类
持续时间
(和
期间
)也没有固定在给定的时间线上,这意味着没有定义的开始时间,只有一个长度。相比之下,一个间隔总是有一个开始时间和一个结束时间。@john16384如果你看看我上面提到的间隔实现,你会发现还有更多的东西需要探索。例如,特殊的间隔比较关系或专门的格式化功能或无限边界或开放/封闭边界或其他类型,如日期范围。考虑到所有这些方面,Joda解决方案非常小,同样适用于额外的三十个(在功能数量方面相当弱)。番石榴系列和Time4J在这里更好。
Duration
没有开始/结束时间<代码>间隔时间。正如您所说的“可以完成”,这是出于时间考虑还是出于其他考虑?我认为引入
间隔
可能会造成混淆、歧义和危险。危险是因为
间隔
仍然在确切日期的框架内(它有结束日期和开始日期),这是很容易错过的?我认为
Interval
的省略使它成为一个更干净的实现<代码>期间
持续时间
对我来说是没有戏剧性的替代方案。“已完成”与Java 8发行日期的“按时完成”一样。在Java9中也不会添加Interval。实际上,JDK需要一个合适的范围概念。