Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jodatime-PeriodFormatter:后缀仅用于天/天_Java_Android_Jodatime_Periodformatter - Fatal编程技术网

Java jodatime-PeriodFormatter:后缀仅用于天/天

Java jodatime-PeriodFormatter:后缀仅用于天/天,java,android,jodatime,periodformatter,Java,Android,Jodatime,Periodformatter,我只需要显示天/天的后缀,我如何实现这一点? 它不起作用: java.lang.IllegalStateException:没有要应用后缀的字段 我认为这是不可能的。根据,如果没有可附加后缀的字段,appendSuffix方法将引发异常: 抛出:IllegalStateException-如果不存在要附加到的字段 所以我相信JodaTime这次帮不了你。不过,您可以这样做: private String suffix(Period p) { int days = p.getDays();

我只需要显示天/天的后缀,我如何实现这一点? 它不起作用:

java.lang.IllegalStateException:没有要应用后缀的字段


我认为这是不可能的。根据,如果没有可附加后缀的字段,
appendSuffix
方法将引发异常:

抛出:IllegalStateException-如果不存在要附加到的字段

所以我相信JodaTime这次帮不了你。不过,您可以这样做:

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

    return days == 1 ? "day" : "days";
}
生成输出:

day
days
// and a line with an empty string

最简单的解决方案是最好的;)@真的!
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