Java JodaTime Period Formatting -
in joda time, need find difference between 2 periods:
periodformatter formatter = new periodformatterbuilder() .printzeroalways().minimumprinteddigits(2) .appendhours().appendsuffix(":").appendminutes().appendsuffix(":").appendseconds() .toformatter(); period period1 = formatter.parseperiod("11:20:50"); period period2 = formatter.parseperiod("13:40:00"); period difference1 = period1.minus(period2).normalizedstandard(); system.out.println(formatter.print(difference1)); //shows -02:-19:-10 the result -02:-19:-10 want show -02:19:10. there formatting can in jodatime achieve that?
i don't think can configure periodformatter itself. can check if normalized period has negative length. if so, add minus sign yourself, , append formatted version of negated period (so in case, negating period makes positive)
periodformatter formatter = new periodformatterbuilder() .printzeroalways().minimumprinteddigits(2) .appendhours().appendsuffix(":").appendminutes().appendsuffix(":").appendseconds() .toformatter(); period period1 = formatter.parseperiod("11:20:50"); period period2 = formatter.parseperiod("13:40:00"); period difference1 = period1.minus(period2).normalizedstandard(); string formatted; if (difference1.tostandardseconds().get(durationfieldtype.seconds()) < 0) { formatted = "-" + formatter.print(difference1.negated()); } else { formatted = formatter.print(difference1); } system.out.println(formatted);
Comments
Post a Comment