Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
   * Copyright 2004-2008 the original author or authors.
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
 package org.springframework.binding.format.formatters;
 import java.util.Date;
A formatter for java.util.Date types. Allows the configuration of an explicit date pattern and locale.

Keith Donald
See also:
 public class DateFormatter implements Formatter {

The default date pattern.
 	private static final String DEFAULT_PATTERN = "yyyy-MM-dd";
 	private String pattern;
 	private Locale locale;

The pattern to use to format date values.

the date formatting pattern
 	public String getPattern() {
 		return ;

Sets the pattern to use to format date values.

pattern the date formatting pattern
 	public void setPattern(String pattern) {
 		this. = pattern;

The locale to use in formatting date values. If null, the default locale is used.

the locale
 	public Locale getLocale() {
 		return ;

Sets the locale to use in formatting date values.

locale the locale
 	public void setLocale(Locale locale) {
 		this. = locale;
 	public String format(Object date) {
 		if (date == null) {
 			return "";
 		return getDateFormat().format((Datedate);
 	public Object parse(String formattedStringthrows InvalidFormatException {
 		if (!StringUtils.hasText(formattedString)) {
 			return null;
 		DateFormat dateFormat = getDateFormat();
 		try {
 			return dateFormat.parse(formattedString);
 		} catch (ParseException e) {
 			throw new InvalidFormatException(formattedStringdeterminePattern(), e);
 	// subclassing hookings
 	protected DateFormat getDateFormat() {
 		String pattern = determinePattern(this.);
 		Locale locale = determineLocale(this.);
		return new SimpleDateFormat(patternlocale);
	// internal helpers
	private String determinePattern(String pattern) {
		return pattern != null ? pattern : ;
	private Locale determineLocale(Locale locale) {
		return locale != null ? locale : Locale.getDefault();
New to GrepCode? Check out our FAQ X