Java 将Three-Ten backport与JSR-310进行比较

Java 将Three-Ten backport与JSR-310进行比较,java,java-time,jsr310,threetenbp,Java,Java Time,Jsr310,Threetenbp,由于某些原因,我们现在无法使用java 8—我们仍然停留在java 7上。 但是,我现在想使用新的JSR-310日期/时间api,使用 其主页说明: The backport is NOT an implementation of JSR-310, as that would require jumping through lots of unnecessary hoops. Instead, this is a simple backport intended to allow users

由于某些原因,我们现在无法使用java 8—我们仍然停留在java 7上。
但是,我现在想使用新的
JSR-310日期/时间api
,使用

其主页说明:

The backport is NOT an implementation of JSR-310, as that would require 
jumping through lots of unnecessary hoops. Instead, this is a simple backport
intended to allow users to quickly use the JSR-310 API on Java SE 6 and 7.
问题:

  • 你对ThreeTen的体验是什么?有什么缺点吗

  • 与官方的JSR-310实施相比,该项目的兼容性如何

  • 从Three-Ten迁移到正式java 8实现需要多少努力

  • 现在迁移到Three-Ten,然后再迁移到JSR-310值得吗?还是应该等到java 8可以使用,然后跳过Three-Ten

  • 看这个

    ThreeTen Backport是一个可靠的Backport,由主API的等效代码组成(尽管对于非ISO日历系统来说不是很好)。要转换为Java8
    Java.time
    ,需要更改包名,并将一些常量更改为方法引用


    我不建议从Joda Time迁移到Three Ten Backport,但建议从Joda Time迁移到Java 8
    Java.Time

    有一件事你不会从Date API得到的是brdidge——例如,在Java 8中,你可以编写
    新日期(…).toInstant()
    ,但在Java 7中没有。对于您的用例来说,这可能是一个问题,也可能不是。我想问题3/4的答案在很大程度上取决于您如何使用Three-Ten backport API。我猜:如果你小心的话;试着去理解你行为的后果;第三季度的工作应尽量少。使用或等待,或-第三种选择-JODA日期/时间。由于最好忘记旧类,所以可以对日期/时间类进行单元测试,您可以使用Java8下的backport+单元测试+单元测试。这比以后的重写更容易、更愉快。另一方面,它值得吗?@JoopEggen如果他们计划在某个阶段转向新的Java时间API,那么使用threetenbp将比使用Joda更容易过渡。ThreeTen在某些地区(如韩国)存在一些问题。它在启动时崩溃。如果你没有在很多其他国家跑步,这可能不会引起你的关注。现在,由于我们的一些国际用户不断发生的启动崩溃,我正在寻找一个ThreeTen替代品。如果他们更新了locale表,这可能会消失。现在可以迁移到java.time吗?