android中文本视图对开始和结束日期的验证
如何在Android中检查/验证结束日期[textbox]是否大于开始日期[textbox] 我已在初始时间显示当前日期。。到运行时,我将更改开始和结束日期 更改开始日期时,结束日期必须大于开始日期 请帮助我实现此功能。尝试此功能android中文本视图对开始和结束日期的验证,android,date,Android,Date,如何在Android中检查/验证结束日期[textbox]是否大于开始日期[textbox] 我已在初始时间显示当前日期。。到运行时,我将更改开始和结束日期 更改开始日期时,结束日期必须大于开始日期 请帮助我实现此功能。尝试此功能 public static boolean isDateAfter(String startDate,String endDate) { try { String myFormatString = "yy
public static boolean isDateAfter(String startDate,String endDate)
{
try
{
String myFormatString = "yyyy-M-dd"; // for example
SimpleDateFormat df = new SimpleDateFormat(myFormatString);
Date date1 = df.parse(endDate));
Date startingDate = df.parse(startDate);
if (date1.after(startingDate))
return true;
else
return false;
}
catch (Exception e)
{
return false;
}
}
如果enddate在开始日期之后,则返回true。您可以根据需要更改日期格式。通过比较开始日期和结束日期???非常感谢,我已经使用DatePicker在我的应用程序中更改了日期。。。如果我使用的结束日期小于开始日期的意思,它应该发出警告。。我能做什么?@Gowrishankar当您使用datepicker更改数据并将其设置为textview之前,您需要在此函数中传递并开始日期和结束日期,并根据函数的返回值向用户显示消息。
private void initViewValue(){
newCalendar = Calendar.getInstance();
dateFormatter = new SimpleDateFormat("dd-MM-yyyy", Locale.US);
}
private void initViewEvents(){
btn_start_date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fromDate();
}
});
btn_end_date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
toDate();
}
});
}
private String changeDate(String strStartDate){
SimpleDateFormat readFormat = null, writeFormat = null;
Date startDate = null, endDate = null;
// String strStartDate = "2014-12-09";
readFormat = new SimpleDateFormat("dd-MM-yyyy");
writeFormat = new SimpleDateFormat("MM/dd/yyyy");
try {
startDate = readFormat.parse(strStartDate);
} catch (ParseException e) {
e.printStackTrace();
}
return writeFormat.format(startDate);
}
private void fromDate(){
fromDatePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Calendar newDate = Calendar.getInstance();
newDate.set(year, monthOfYear, dayOfMonth);
et_start_date.setText(dateFormatter.format(newDate.getTime()));
getFromDate = et_start_date.getText().toString().trim();
}
},newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
fromDatePickerDialog.show();
}
private void toDate(){
toDatePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Calendar newDate = Calendar.getInstance();
newDate.set(year, monthOfYear, dayOfMonth);
et_end_date.setText(dateFormatter.format(newDate.getTime()));
newDate.add(Calendar.DAY_OF_MONTH, 30);
}
},
newCalendar.get(Calendar.YEAR), newCalendar.get(`enter code here`Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
toDatePickerDialog.getDatePicker().setMinDate(milliseconds(changeDate(getFromDate)));
toDatePickerDialog.show();
}
public static long milliseconds(String date)
{
//String date_ = date;
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy", Locale.US);
System.out.println("Date in milli :: " + date);
try
{
Date mDate = sdf.parse(date);
long timeInMilliseconds = mDate.getTime();
System.out.println("Date in milli :: " + timeInMilliseconds);
return timeInMilliseconds;
}
catch (ParseException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}