Skip to content

A simple java.util.Date to java.sql.Date converter

by Priyatam

If you’re using JSF and need a converter for converting UI elements (typically java.util.Date) to your domain object’s date field (typically java.sql.Date), here’s the code snippet,

public class DateConverter implements Converter, Serializable {
	public Object getAsObject(FacesContext context, UIComponent component, String value) {
	    java.sql.Date sqlDate = null;
	    Calendar cal = null;

	    if (value != null && value.length() > 0) {
	      DateFormat df = new SimpleDateFormat("dd-MMM-yy");

	      try {
	    	  Date utilDate = df.parse(value);
	          cal = new GregorianCalendar();
	          cal.setTime(utilDate);
	    	  sqlDate = new java.sql.Date(utilDate.getTime());
	      }
	      catch (ParseException e) {
	        throw new ConverterException(e);
	      }
	    }
	    return sqlDate;
	  }

	  public String getAsString(FacesContext context, UIComponent component, Object value) {
	    String dateString = null;
	    if (value != null) {
	      if (value instanceof String) {
	        dateString = (String) value;
	      }
	      else {
	        DateFormat df = new SimpleDateFormat("dd-MMM-yy");
	        if (value instanceof java.sql.Date) {
	        	Date date = new Date(((java.sql.Date)value).getTime());
	 	        dateString = df.format(date);
	        }
	      }
	    }
	     return dateString;
	  }
}
[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*