Package org.wicketstuff.datetime
Class PatternDateConverter
- java.lang.Object
-
- org.wicketstuff.datetime.DateConverter
-
- org.wicketstuff.datetime.PatternDateConverter
-
- All Implemented Interfaces:
Serializable
,IConverter<Date>
,IClusterable
public class PatternDateConverter extends DateConverter
Date converter that uses Joda Time and can be configured to take the time zone difference between clients and server into account. This converter is hard coded to use the provided custom date pattern, no matter what current locale is used. SeeSimpleDateFormat
for available patterns.This converter is especially suited on a per-component base.
- Author:
- eelcohillenius
- See Also:
SimpleDateFormat
,StyleDateConverter
,DateTextField
,DateTime
,DateTimeFormat
,DateTimeZone
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description PatternDateConverter(String datePattern, boolean applyTimeZoneDifference)
Construct.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getDatePattern(Locale locale)
Gets the optional date pattern.protected org.joda.time.format.DateTimeFormatter
getFormat(Locale locale)
-
Methods inherited from class org.wicketstuff.datetime.DateConverter
convertToObject, convertToString, getApplyTimeZoneDifference, getClientTimeZone, getTimeZone
-
-
-
-
Constructor Detail
-
PatternDateConverter
public PatternDateConverter(String datePattern, boolean applyTimeZoneDifference)
Construct. When applyTimeZoneDifference is true, the current time is applied on the parsed date, and the date will be corrected for the time zone difference between the server and the client. For instance, if I'm in Seattle and the server I'm working on is in Amsterdam, the server is 9 hours ahead. So, if I'm inputting say 12/24 at a couple of hours before midnight, at the server it is already 12/25. If this boolean is true, it will be transformed to 12/25, while the client sees 12/24.- Parameters:
datePattern
- The pattern to use. Must be not null. SeeSimpleDateFormat
for available patterns.applyTimeZoneDifference
- whether to apply the difference in time zones between client and server- Throws:
IllegalArgumentException
- in case the date pattern is null
-
-
Method Detail
-
getDatePattern
public final String getDatePattern(Locale locale)
Gets the optional date pattern.- Specified by:
getDatePattern
in classDateConverter
- Parameters:
locale
- The locale used to convert the value- Returns:
- datePattern
-
getFormat
protected org.joda.time.format.DateTimeFormatter getFormat(Locale locale)
- Specified by:
getFormat
in classDateConverter
- Parameters:
locale
- The locale used to convert the value- Returns:
- formatter The formatter for the current conversion
-
-