2012-07-03 66 views
0

一個jodatime期間,我有兩個變量:如何創建具有可變PeriodType

int duration; 
PeriodType periodType; 

基於一些邏輯,我找的2個日期時間的差異,只想存儲在天,數分鐘或數小時最終period

如何創建一個句點對象,其中類型和相應的持續時間在運行時找到?

new Period(0, duration, periodType); 

返回我的所有字段期0

回答

0

在這裏,您使用的方法簽名是

Period(long startInstant, long endInstant, PeriodType type) 

,我想duration是米利斯(長)

你必須使用這一個

Period(long duration, PeriodType type) 

所以儘量

new Period(duration, periodType); 

它應該工作

+0

我最初嘗試過,但期望持續時間以毫秒爲單位。因此,如果持續時間爲10,periodType爲天數,則會再次失敗。 – brainydexter

+0

鏈接:http://joda-time.sourceforge.net/api-release/org/joda/time/Period.html#Period(long,org.joda .time.PeriodType) – brainydexter

+0

您是否嘗試過使用簽名'Period(ReadableDuration duration,ReadableInstant endInstant,PeriodType type)'''的新Period(duration,null,periodType)''。它迫使你「現在」作爲結束時刻,但這是你的擔憂嗎? – Grooveek

1

如果只喜歡儲存天,幾分鐘或幾小時

PeriodType.days(); 
PeriodType.minutes(); 
PeriodType.hours(); 

然後

final Period per = new Period().withField(periodType.getFieldType(0), duration); 

是你需要的。