title: Rounding up milliseconds when printing with Joda Time
body: <p>I'm implementing a count-down using Joda Time. I only need a display accuracy of seconds.</p>
  
  <p>However when printing the time, the seconds are displayed as full seconds, so when the count down reaches, for example, 900ms, then "0" seconds is printed, but as a count-down it would make more sense to display "1" second, until the time actually reaches 0ms.</p>
  
  <p>Example:</p>
  
  <pre><code>void printDuration(Duration d) {
    System.out.println(
      d.toPeriod(PeriodType.time()).toString(
        new PeriodFormatterBuilder().printZeroAlways().appendSeconds().toFormatter()
      )
    );
  }
  
  printDuration(new Duration(5000)); // Prints "5" =&gt; OK
  printDuration(new Duration(4900)); // Prints "4" =&gt; need "5"
  printDuration(new Duration(1000)); // Prints "1" =&gt; OK
  printDuration(new Duration(900));  // Prints "0" =&gt; need "1"
  printDuration(new Duration(0));    // Prints "0" =&gt; OK
  </code></pre>
  
  <p>Basically I need to the seconds to be display rounded up from milliseconds and not rounded down. Is there a way to achieve this with Joda without needing to write my own formatter?</p>