Monday 15 March 2010

Date Validation android java -



Date Validation android java -

i have 2 date time picker in projects, start date , end date, problem allow say, if take 18/10/2014 start date, end date 1/11/2014, end date invalid day 1 invalid smaller day 18. need help this

//start date tablerow r8 = new tablerow(this); textview tvstartdate = new textview(this); tvstartdate.settext("start date: "); final edittext etstartdate = new edittext(this); etstartdate.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub calendar datenow = calendar.getinstance(); int year = datenow.get(calendar.year); int month = datenow.get(calendar.month); int day = datenow.get(calendar.day_of_month); datepickerdialog dp; dp = new datepickerdialog(addpetactivity.this, new ondatesetlistener() { public void ondateset(datepicker datepicker, int selectedyear, int selectedmonth, int selectedday) { // todo auto-generated method stub selectedmonth = selectedmonth + 1; etstartdate.settext("" + selectedday + "/" + selectedmonth + "/" + selectedyear); } }, year, month, day); dp.settitle("select date"); dp.show(); } }); r8.addview(tvstartdate); r8.addview(etstartdate); tb.addview(r8); //end date tablerow r9 = new tablerow(this); textview tvenddate = new textview(this); tvenddate.settext("end date: "); final edittext etenddate = new edittext(this); etenddate.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub calendar datenow = calendar.getinstance(); int year = datenow.get(calendar.year); int month = datenow.get(calendar.month); int day = datenow.get(calendar.day_of_month); datepickerdialog dp; dp = new datepickerdialog(addpetactivity.this, new ondatesetlistener() { public void ondateset(datepicker datepicker, int selectedyear, int selectedmonth, int selectedday) { // todo auto-generated method stub selectedmonth = selectedmonth + 1; etenddate.settext("" + selectedday + "/" + selectedmonth + "/" + selectedyear); } }, year, month, day); dp.settitle("select date"); dp.show(); } }); r9.addview(tvenddate); r9.addview(etenddate); tb.addview(r9); =========================================================================================

for validation part startdate , end date

else if (checkdate(today, etstartdate.gettext().tostring()) == false) toast.maketext(getapplicationcontext(), "invalid start date!", toast.length_short).show(); else{ if (!etenddate.gettext().tostring().matches("")) { if (checkdate( etstartdate.gettext().tostring(), etenddate.gettext().tostring()) == false) toast.maketext(getapplicationcontext(), "invalid end date!", toast.length_short).show(); =========================================================================================

last part

private boolean checkdate(string fromdate, string todate) { simpledateformat sdf = new simpledateformat("dd/mm/yyyy"); date datefrom = null; date dateto = null; seek { datefrom = sdf.parse(fromdate); dateto = sdf.parse(todate); } grab (parseexception e) { // todo auto-generated grab block e.printstacktrace(); } if (dateto.after(datefrom) == true) homecoming true; else homecoming false; }

to compare date utilize methode :date.compareto(anotherdate):

this simple illustration , can utilize method homecoming result

try{ simpledateformat sdf = new simpledateformat("dd/mm/yyyy"); //edit here date date1 = sdf.parse("2009-12-31"); date date2 = sdf.parse("2010-01-31"); system.out.println(sdf.format(date1)); system.out.println(sdf.format(date2)); if(date1.compareto(date2)>0){ system.out.println("date1 after date2"); }else if(date1.compareto(date2)<0){ system.out.println("date1 before date2"); }else if(date1.compareto(date2)==0){ system.out.println("date1 equal date2"); }else{ system.out.println("how here?"); } }catch(parseexception ex){ ex.printstacktrace(); }

for case :

private boolean checkdate(string fromdate, string todate) { boolean result=false; try{ simpledateformat sdf = new simpledateformat("dd/mm/yyyy"); //edit here date datestart = sdf.parse(fromdate); date dateend = sdf.parse(todate); if(datestart .compareto(dateend)>0){ system.out.println("datestart after dateend "); result=false; }else if(datestart .compareto(dateend)<0){ system.out.println("datestart before dateend "); result=true; }else if(datestart .compareto(dateend)==0){ system.out.println("datestart equal dateend "); result=true; }else{ system.out.println("how here?"); } }catch(parseexception ex){ ex.printstacktrace(); } homecoming result; }

java android date

No comments:

Post a Comment