当前位置 : 首页 » 互动问答 » 正文

将org.joda.time转换为java.time

分类 : 互动问答 | 发布时间 : 2018-04-27 15:23:29 | 评论 : 1 | 浏览 : 38 | 喜欢 : 0

我想在我们的应用程序中用java.time替换org.joda.time。 因为我们使用的是org.joda.time包,所以我们使用了org.joda.time.Period的ISO8601格式化期间。

 Period monthly = ISOPeriodFormat.standard()。parsePeriod(“P1M”);
        每年期间= ISOPeriodFormat.standard()。parsePeriod(“P1Y”);
        每周期间= ISOPeriodFormat.standard()。parsePeriod(“P1W”);
        每日时期= ISOPeriodFormat.standard()。parsePeriod(“P1D”);
        周期小时= ISOPeriodFormat.standard()。parsePeriod(“PT1H”);
        Period minute = ISOPeriodFormat.standard()。parsePeriod(“PT1M”);

由于像P1Y,P1M,P1W,P1D这样的格式已经存储在我们的系统中,因此在java.time中寻找格式化程序来处理同样的事情。

java.time.Duration支持小时,分钟和日期。

持续时间dailyD = Duration.parse(“P1D”);
    持续时间hourD = Duration.parse(“PT1H”);
    持续时间minuteD = Duration.parse(“PT5M”);

但是,在java.time中看不到支持Week(P1W),Month(P1M),Year(P1Y)。有没有其他的方式将其转换为java.time.Period或java.time.Duration?

回答(1)

  • 1楼
  • A Duration是基于时间的时间量

    A Period是基于日期的时间量

    对于持续时间,您尝试了correct.Please检查下面的示例是否适用于您的情况

    Period per1 = Period.ofDays( -4); // P-4D

    周期per1a = Period.ofDays(7); // P7D

    Period per2 = Period.ofWeeks(5); // P5W

    Period per3 = Period.ofMonths(-3); // P-3M

    周期per4 = Period.ofYears(2); // P2Y

相关阅读: