1

我想检查当前日期是否等于(或包含)某个定义的日期间隔。我有这样的事情:

        Calendar c1 =  Calendar.getInstance();
        SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy");

        Date lowerBound = null;
        Date upperBound = null;
        try {
            lowerBound = sdf1.parse("29-10-2013");
            upperBound = sdf1.parse("30-12-2013");
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        TextView txtdate1 = (TextView) findViewById(R.id.textView1);

        if (c1.getTime().before(upperBound) && c1.getTime().after(lowerBound)) {
            txtdate1.setText("Is up to date");
        } else {
            txtdate1.setText("Is not up to date");
        }
4

2 回答 2

0

不要使用字符串表示。而是使用Calendar对象来做之前和之后。

Calendar c1 = Calendar.getInstance();

Calendar min = \\ create your min calendar
Calendar max = \\ create your max calendar.

if ( c1.after(min) && c1.before(max) ) {
于 2013-10-24T19:42:13.617 回答
0

您可以使用这些功能beforeafter检查您的日期是否在一定范围内。

    Calendar c1 =  Calendar.getInstance();
    SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy");

    Date lowerBound = sdf1.parse("20-10-2013");
    Date upperBound = sdf1.parse("30-12-2013");

    TextView txtdate1 = (TextView) findViewById(R.id.textView1);

    if (c1.getTime().before(upperBound) && c1.getTime().after(lowerBound)) {
        txtdate1.setText("Is up to date");
    } else {
        txtdate1.setText("Is not up to date");
    }

很酷的是,您可以定义一些函数,这些函数将通过创建预定义函数来检查数据是否在某个定义的范围内。参见这个例子。

于 2013-10-24T19:39:05.280 回答