Class DateTimeConverter<D>
- Type Parameters:
D- The default value type.
- All Implemented Interfaces:
Converter<D>
- Direct Known Subclasses:
CalendarConverter,DateConverter,LocalDateConverter,LocalDateTimeConverter,OffsetDateTimeConverter,SqlDateConverter,SqlTimeConverter,SqlTimestampConverter,ZonedDateTimeConverter
Converter implementation that handles conversion to and from date/time objects.
This implementation handles conversion for the following date/time types.
String Conversions (to and from)
This class provides a number of ways in which date/time conversions to/from Strings can be achieved:- Using the SHORT date format for the default Locale, configure using:
setUseLocaleFormat(true)
- Using the SHORT date format for a specified Locale, configure using:
setLocale(Locale)
- Using the specified date pattern(s) for the default Locale, configure using:
- Either
setPattern(String)orsetPatterns(String[])
- Either
- Using the specified date pattern(s) for a specified Locale, configure using:
setPattern(String)orsetPatterns(String[]) and...setLocale(Locale)
- If none of the above are configured the
toDate(String)method is used to convert from String to Date and the Dates'stoString()method used to convert from Date to String.
The Time Zone to use with the date format can be specified using the setTimeZone(TimeZone) method.
- Since:
- 1.8.0
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a Date/Time Converter that throws aConversionExceptionif an error occurs.DateTimeConverter(D defaultValue) Constructs a Date/Time Converter that returns a default value if an error occurs. -
Method Summary
Modifier and TypeMethodDescriptionprotected StringconvertToString(Object value) Convert an input Date/Calendar object into a String.protected <T> TconvertToType(Class<T> targetType, Object value) Convert the input object into a Date object of the specified type.protected DateFormatGets aDateFormatfor the Locale.Gets the Locale for the Converter (ornullif none specified).String[]Gets the date format patterns used to convert dates to/from aString(ornullif none specified).Gets the Time Zone to use when converting dates (ornullif none specified.voidSets the Locale for the Converter.voidsetPattern(String pattern) Sets a date format pattern to use to convert dates to/from aString.voidsetPatterns(String[] patterns) Sets the date format patterns to use to convert dates to/from aString.voidsetTimeZone(TimeZone timeZone) Sets the Time Zone to use when converting dates.voidsetUseLocaleFormat(boolean useLocaleFormat) Indicate whether conversion should use a format/pattern or not.toString()Provide a String representation of this date/time converter.Methods inherited from class org.apache.commons.beanutils2.converters.AbstractConverter
conversionException, convert, convertArray, getDefault, getDefaultType, handleError, handleMissing, isUseDefault, setDefaultValue, toLowerCase, toString, toTrim
-
Constructor Details
-
DateTimeConverter
public DateTimeConverter()Constructs a Date/Time Converter that throws aConversionExceptionif an error occurs. -
DateTimeConverter
Constructs a Date/Time Converter that returns a default value if an error occurs.- Parameters:
defaultValue- The default value to be returned if the value to be converted is missing or an error occurs converting the value.
-
-
Method Details
-
convertToString
Convert an input Date/Calendar object into a String.N.B.If the converter has been configured to with one or more patterns (using
setPatterns()), then the first pattern will be used to format the date into a String. Otherwise the defaultDateFormatfor the default locale (and style if configured) will be used.- Overrides:
convertToStringin classAbstractConverter<D>- Parameters:
value- The input value to be converted- Returns:
- the converted String value.
- Throws:
IllegalArgumentException- if an error occurs converting to a String
-
convertToType
Convert the input object into a Date object of the specified type.This method handles conversions between the following types:
It also handles conversion from aStringto any of the above types.For
Stringconversion, if the converter has been configured with one or more patterns (usingsetPatterns()), then the conversion is attempted with each of the specified patterns. Otherwise the defaultDateFormatfor the default locale (and style if configured) will be used.- Specified by:
convertToTypein classAbstractConverter<D>- Type Parameters:
T- The desired target type of the conversion.- Parameters:
targetType- Data type to which this value should be converted.value- The input value to be converted.- Returns:
- The converted value.
- Throws:
Exception- if conversion cannot be performed successfully
-
getFormat
Gets aDateFormatfor the Locale.- Parameters:
locale- The Locale to create the Format with (may be null)timeZone- The Time Zone create the Format with (may be null)- Returns:
- A Date Format.
-
getLocale
Gets the Locale for the Converter (ornullif none specified).- Returns:
- The locale to use for conversion
-
getPatterns
Gets the date format patterns used to convert dates to/from aString(ornullif none specified).- Returns:
- Array of format patterns.
- See Also:
-
getTimeZone
Gets the Time Zone to use when converting dates (ornullif none specified.- Returns:
- The Time Zone.
-
setLocale
Sets the Locale for the Converter.- Parameters:
locale- The Locale.
-
setPattern
Sets a date format pattern to use to convert dates to/from aString.- Parameters:
pattern- The format pattern.- See Also:
-
setPatterns
Sets the date format patterns to use to convert dates to/from aString.- Parameters:
patterns- Array of format patterns.- See Also:
-
setTimeZone
Sets the Time Zone to use when converting dates.- Parameters:
timeZone- The Time Zone.
-
setUseLocaleFormat
Indicate whether conversion should use a format/pattern or not.- Parameters:
useLocaleFormat-trueif the format for the locale should be used, otherwisefalse
-
toString
Provide a String representation of this date/time converter.- Overrides:
toStringin classAbstractConverter<D>- Returns:
- A String representation of this date/time converter
-