org.apache.commons.lang.time
Class DurationFormatUtils

java.lang.Object
  extended byorg.apache.commons.lang.time.DurationFormatUtils

public class DurationFormatUtils
extends Object

Duration formatting utilities and constants. The following table describes the tokens used in the pattern language for formatting.

characterduration element
yyears
Mmonths
ddays
Hhours
mminutes
sseconds
Smilliseconds

Since:
2.1
Version:
$Id: DurationFormatUtils.java 165657 2005-05-02 18:31:49Z ggregory $
Author:
Apache Ant - DateUtils, Stephane Bailliez, Stefan Bodewig, Stephen Colebourne, Gary Gregory, Henri Yandell

Field Summary
static String ISO_EXTENDED_FORMAT_PATTERN
          Pattern used with FastDateFormat and SimpleDateFormat for the ISO8601 period format used in durations.
 
Constructor Summary
DurationFormatUtils()
          DurationFormatUtils instances should NOT be constructed in standard programming.
 
Method Summary
static String formatDuration(long durationMillis, String format)
          Get the time gap as a string, using the specified format, and padding with zeros and using the default timezone.
static String formatDuration(long durationMillis, String format, boolean padWithZeros)
          Get the time gap as a string, using the specified format.
static String formatDurationHMS(long durationMillis)
          Get the time gap as a string.
static String formatDurationISO(long durationMillis)
          Get the time gap as a string.
static String formatDurationWords(long durationMillis, boolean suppressLeadingZeroElements, boolean suppressTrailingZeroElements)
          Format an elapsed time into a plurialization correct string.
static String formatPeriod(long startMillis, long endMillis, String format)
          Get the time gap as a string, using the specified format.
static String formatPeriod(long startMillis, long endMillis, String format, boolean padWithZeros, TimeZone timezone)
          Get the time gap as a string, using the specified format.
static String formatPeriodISO(long startMillis, long endMillis)
          Get the time gap as a string.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ISO_EXTENDED_FORMAT_PATTERN

public static final String ISO_EXTENDED_FORMAT_PATTERN

Pattern used with FastDateFormat and SimpleDateFormat for the ISO8601 period format used in durations.

See Also:
FastDateFormat, SimpleDateFormat, Constant Field Values
Constructor Detail

DurationFormatUtils

public DurationFormatUtils()

DurationFormatUtils instances should NOT be constructed in standard programming.

This constructor is public to permit tools that require a JavaBean instance to operate.

Method Detail

formatDurationHMS

public static String formatDurationHMS(long durationMillis)

Get the time gap as a string.

The format used is ISO8601-like: H:m:s.S.

Parameters:
durationMillis - the duration to format
Returns:
the time as a String

formatDurationISO

public static String formatDurationISO(long durationMillis)

Get the time gap as a string.

The format used is the ISO8601 period format.

This method formats durations using the days and lower fields of the ISO format pattern, such as P7D6H5M4.321S.

Parameters:
durationMillis - the duration to format
Returns:
the time as a String

formatDuration

public static String formatDuration(long durationMillis,
                                    String format)

Get the time gap as a string, using the specified format, and padding with zeros and using the default timezone.

This method formats durations using the days and lower fields of the format pattern. Months and larger are not used.

Parameters:
durationMillis - the duration to format
format - the way in which to format the duration
Returns:
the time as a String

formatDuration

public static String formatDuration(long durationMillis,
                                    String format,
                                    boolean padWithZeros)

Get the time gap as a string, using the specified format. Padding the left hand side of numbers with zeroes is optional and the timezone may be specified.

This method formats durations using the days and lower fields of the format pattern. Months and larger are not used.

Parameters:
durationMillis - the duration to format
format - the way in which to format the duration
padWithZeros - whether to pad the left hand side of numbers with 0's
Returns:
the time as a String

formatDurationWords

public static String formatDurationWords(long durationMillis,
                                         boolean suppressLeadingZeroElements,
                                         boolean suppressTrailingZeroElements)

Format an elapsed time into a plurialization correct string.

This method formats durations using the days and lower fields of the format pattern. Months and larger are not used.

Parameters:
durationMillis - the elapsed time to report in milliseconds
suppressLeadingZeroElements - suppresses leading 0 elements
suppressTrailingZeroElements - suppresses trailing 0 elements
Returns:
the formatted text in days/hours/minutes/seconds

formatPeriodISO

public static String formatPeriodISO(long startMillis,
                                     long endMillis)

Get the time gap as a string.

The format used is the ISO8601 period format.

Parameters:
startMillis - the start of the duration to format
endMillis - the end of the duration to format
Returns:
the time as a String

formatPeriod

public static String formatPeriod(long startMillis,
                                  long endMillis,
                                  String format)

Get the time gap as a string, using the specified format. Padding the left hand side of numbers with zeroes is optional.

Parameters:
startMillis - the start of the duration
endMillis - the end of the duration
format - the way in which to format the duration
Returns:
the time as a String

formatPeriod

public static String formatPeriod(long startMillis,
                                  long endMillis,
                                  String format,
                                  boolean padWithZeros,
                                  TimeZone timezone)

Get the time gap as a string, using the specified format. Padding the left hand side of numbers with zeroes is optional and the timezone may be specified.

Parameters:
startMillis - the start of the duration
endMillis - the end of the duration
format - the way in which to format the duration
padWithZeros - whether to pad the left hand side of numbers with 0's
timezone - the millis are defined in
Returns:
the time as a String


Copyright © 2001-2005 The Apache Software Foundation. All Rights Reserved.