2017-11-10 3 views
2

私のアプリケーションでは、org.joda.timeをjava.timeで置き換えようとしています。 org.joda.timeパッケージを使用していたので、ISO8601の期間をorg.joda.time.Periodでフォーマットしました。 P1Y、P1Mのような形式以来org.joda.timeからjava.timeへの変換

Period monthly = ISOPeriodFormat.standard().parsePeriod("P1M"); 
     Period yearly = ISOPeriodFormat.standard().parsePeriod("P1Y"); 
     Period weekly = ISOPeriodFormat.standard().parsePeriod("P1W"); 
     Period daily = ISOPeriodFormat.standard().parsePeriod("P1D"); 
     Period hour = ISOPeriodFormat.standard().parsePeriod("PT1H"); 
     Period minute = ISOPeriodFormat.standard().parsePeriod("PT1M"); 

、P1W、P1Dはjava.timeで同じもののためのフォーマッタを探して、私たちのシステムに格納されています。

java.time.Durationのサポート時間、分、および日。

Duration dailyD = Duration.parse("P1D"); 
    Duration hourD = Duration.parse("PT1H"); 
    Duration minuteD = Duration.parse("PT5M"); 

しかし、週(P1W)、月(P1M)、年(P1Y)のjava.timeのサポートは表示されません。これをjava.time.Periodまたはjava.time.Durationに変換する他の方法はありますか?

答えて

2

時間は時間の時間ベースの量です。

期間は時間の日付ベースの量です。例として、あなたのケースで

期間PER1 =のPeriod.ofDaysを(-4)作業以下の場合は、correct.Pleaseチェックをしようとしている期間中、

。 // P-4D

期間per1a = Period.ofDays(7)。 // P7D

期間PER2の=のPeriod.ofWeeks(5)。 // P5W

期間PER3 =のPeriod.ofMonths(-3)。 // P-3M

期間per4の=のPeriod.ofYears(2)。 // P2Y

関連する問題