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

Popular posts from this blog

how to insert data php javascript mysql with multiple array session 2 -

multithreading - Exception in Application constructor -

windows - CertCreateCertificateContext returns CRYPT_E_ASN1_BADTAG / 8009310b -