package net.bradmont.supergreen.fields; import net.bradmont.supergreen.fields.constraints.ConstraintError; import android.widget.*; import android.view.View; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Calendar; import java.util.GregorianCalendar; // TODO: this needs cleanup // look at http://stackoverflow.com/questions/7363112/best-way-to-work-with-dates-in-android-sqlite for some guidelines public class DateField extends StringField { public DateField(String name){ super(name); } public void setValue(Calendar value){ throw (new NotImplementedException("getDate")); } public void setDefault(Calendar value){ setValue(value); default_value=getString(); has_default=true; } public Calendar getCalendar(){ Calendar result = new GregorianCalendar(); String [] parts = getString().split("-"); result.set( Integer.parseInt(parts[0]), Integer.parseInt(parts[1])-1, Integer.parseInt(parts[2]), 0, 0); return result; } /** Return date formatted according to format string * */ public String format(String dateFormat){ DateFormat format = new SimpleDateFormat(dateFormat); return format.format(getCalendar()); } }