比较Android App中的日期

时间:2011-10-20 23:40:18

标签: android date

我对Android开发很陌生,但是这个人编写了代码,我接手了这份工作。

我想快速找到一件事......( -

该应用程序正在获取日期的用户输入(使用日期选择器),我需要添加验证以检查日期是否有效。有效日期是从今天起30天。 在互联网上搜索了很长时间后,我发现了一个我可以使用的代码:

  Date today = new Date();
  Date predefined = new SimpleDateFormat("yyyy-MM-dd").parse(today);

  if(today.before(predefined)) {
      ...
  }

但我不确定如何添加30天?

如果你能告诉我,那将非常感激。 提前谢谢。

编辑这是我尝试的源代码。

Calendar today = Calendar.getInstance();
today.add(Calendar.DAY_OF_MONTH,30);
if(calStartDate.compareTo(today)<0) { 
    Toast.makeText(GetClient.this,"It's before valid date!",Toast.LENGTH_SHORT).show();
}else{ 
    Toast.makeText(GetClient.this,"It's a valid date!",Toast.LENGTH_SHORT).show();
}

2 个答案:

答案 0 :(得分:4)

你想要Calendar课程。您可以创建一个并将其设置为当前时间/日期,然后创建另一个并将其设置为向前滚动30天。然后调用compareTo()来传递另一个。

答案 1 :(得分:4)

在你的OnDateSetListener :::

中实现这个逻辑
     class DateListner implements OnDateSetListener
{

    @Override
    public void onDateSet ( DatePicker view , int year , int monthOfYear ,
            int dayOfMonth )
    {
        Date inputDate = new Date(year, monthOfYear, dayOfMonth);
        Long inputTime = inputDate.getTime();
        Calendar calendar=Calendar.getInstance();
        Date validDate = new Date(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), (calendar.get(Calendar.DAY_OF_MONTH)+30));
        Long validTime = validDate.getTime();
        if(validTime>inputTime){
            Log.e("result", "valid");
        }
        else
            Log.e("result", "invalid");
    }
}

干杯...... !!!!