-3

次の日付を確認する別の方法を知っていますが、以前に使用したときに確認時間を無視する可能性があるかどうかを知りたい.

次のコードがあります

 public void onDateSet(DatePicker view, int year, int monthOfYear,
          int dayOfMonth) {
      try {
      if (fired == true) {
          return;
      } else {
          // first time fired
          fired = true;
      }
      String date = checkDigit(monthOfYear + 1) + "/"
              + checkDigit(dayOfMonth) + "/" + year;
      strDate = date;
      SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy");

        Date d=df.parse(strDate);
          Calendar cal = Calendar.getInstance();
          cal.add(Calendar.DATE, 1);
        if(d.before(cal.getTime()))
        {
             etDOB.setText(strDate);
        }
        else
        {
            Toast.makeText(context, "Enter Valid Date Of Birth", Toast.LENGTH_SHORT).show();
             etDOB.setText(" ");
        }
    } catch (ParseException e) {
        e.printStackTrace();
    }

  }

d.before(cal.getTime()) checking date but if the selected Date is next Date than it also checking time

例 : 選択された日付の値feb 24 2013は同じものを含むため、

cal.getTime() also contains feb 24 2013

しかし、最初の日付には時刻00:00:00 GMT+5:30があり、2 番目の日付には時刻が1:00:00 GMT+5:30あるため、条件が失敗します。だから私の質問は、時間をチェックする前に無視する方法です。

4

2 に答える 2

3

( ) をcal.getTime()使用して日付をフォーマットおよび解析できます。これにより、時間が削除され、結果が と比較されます。dfSimpleDateFormat("MM/dd/yyyy")d

于 2013-02-23T07:27:38.730 に答える
3

Calendar オブジェクトの作成中

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1);
cal.set(Calendar.Minute, 0);
cal.set(Calendar.Second, 0);

今、あなたの状態は失敗しません

于 2013-02-23T07:10:13.630 に答える