2017-05-03 1 views
2

하루/일 동안 접미사 만 표시하면됩니다. 어떻게 할 수 있습니까? 이 작동하지 않습니다jodatime - PeriodFormatter : 하루/일의 접미사

java.lang.IllegalStateException : 없음 필드를

private PeriodFormatter getDayTextFormatter() { 
     return new PeriodFormatterBuilder() 
       .printZeroNever() 
       .appendSuffix("day", "days") 
       .toFormatter(); 
    } 

답변

1

가 나는 그것이 가능하다고 생각하지 않습니다 .. 픽스를 적용 할 수 있습니다.

예외 : 거기에 접미사를 추가 할 필드하지 않는 경우는 JodaTime's javadoc에 따르면, appendSuffix 방법은 예외가 발생합니다 IllegalStateException이를 - 어떤 필드가 나는 JodaTime 수 없어 믿고 그래서

에 추가 할 존재하지 않는 경우 이번에 도와주세요. 이 같은 것을 할 수있는,하지만이 코드로

private String suffix(Period p) { 
    int days = p.getDays(); 
    if (days <= 0) { 
     return ""; 
    } 

    return days == 1 ? "day" : "days"; 
} 

을, 다음

System.out.println(suffix(Period.days(1))); 
System.out.println(suffix(Period.days(2))); 
System.out.println(suffix(new Period())); 

출력이 생성

day 
days 
// and a line with an empty string 
+1

가장 쉬운 솔루션 최선을) – AppiDevo

+0

을 @AppiDevo 과연! –