Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 要查找带两个日期的天数,存在SimpleDataFormat的logcat错误_Java_Android_Date - Fatal编程技术网

Java 要查找带两个日期的天数,存在SimpleDataFormat的logcat错误

Java 要查找带两个日期的天数,存在SimpleDataFormat的logcat错误,java,android,date,Java,Android,Date,我想找到“从日期”到“到日期”的总天数。提前谢谢 这是我的完整代码 public class Main2Activity extends AppCompatActivity { EditText ed1,ed2,ed4,ed5,ed6;Button b1; int day_x;int month_x;int year_x;int DIALOG_ID = 1; @Overrideprotected void onCreate(Bundle savedInstanceState) {

我想找到“从日期”到“到日期”的总天数。提前谢谢

这是我的完整代码

public class Main2Activity extends AppCompatActivity {
    EditText ed1,ed2,ed4,ed5,ed6;Button b1; int day_x;int month_x;int year_x;int DIALOG_ID = 1;
    @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2); AlertDialog.Builder a_builder = new AlertDialog.Builder(Main2Activity.this);a_builder.setMessage("Please Enter your\n'Name' and 'Date of Birth'.").setCancelable(false).setTitle("Alert!!!").setNegativeButton("ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { dialogInterface.cancel(); }}).show();date_selector(); to_date();final Calendar cal = Calendar.getInstance(); year_x = cal.get(Calendar.YEAR); month_x = cal.get(Calendar.MONTH); day_x = cal.get(Calendar.DAY_OF_MONTH); } public void date_selector() {ed2 = (EditText) findViewById(R.id.editText2); ed5 = (EditText) findViewById(R.id.editText5);ed4 = (EditText) findViewById(R.id.editText4);ed6 = (EditText) findViewById(R.id.editText6);ed1 = (EditText) findViewById(R.id.editText1);ed2.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) {showDialog(DIALOG_ID);
                    }
                }
        );
    }

    @Override
    protected Dialog onCreateDialog(int ids) {
        if (ids == DIALOG_ID)
            return new DatePickerDialog(Main2Activity.this, dickerListener, year_x, month_x, day_x);
        return null;
    }

    private DatePickerDialog.OnDateSetListener dickerListener =
            new DatePickerDialog.OnDateSetListener() {
                public long dateEvent;

                @Override
                public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
                    year_x = i;
                    month_x = i1+1 ;
                    day_x = i2;
                    ed2.setText((day_x+"/"+month_x+"/"+year_x));//showing DOB
                    //String stores=ed2.getText().toString();
                    final Calendar cal = Calendar.getInstance();
                   int year_y = cal.get(Calendar.YEAR);
                   int month_y = cal.get(Calendar.MONTH);
                   int day_y = cal.get(Calendar.DAY_OF_MONTH);
                   int month_z=month_y+1;
                   // SimpleDateFormat df = new SimpleDateFormat("dd mm yyyy");
                    ed5.setText(day_y+"/"+ month_z+"/"+ year_y);


                    String value = ed2.getText().toString();
                    ed4.setText(value);

                  Daysss_check();
                }
            };

     public void Daysss_check() {              //total number of days???
          ed5 = (EditText) findViewById(R.id.editText5);
          ed4 = (EditText) findViewById(R.id.editText4);
          ed6 = (EditText) findViewById(R.id.editText6);
          ed2 = (EditText) findViewById(R.id.editText2);
          SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
          String firstDate = ed2.getText().toString();
          String secondDate = ed5.getText().toString();
          try {

              Date date1 = df.parse(firstDate);
              Date date2 = df.parse(secondDate);
              long diff = date2.getTime() - date1.getTime();
             long diffDays= TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);

             // float dayCount = (float) diff / (24 * 60 * 60 * 1000);
              //String.valueOf((int) dayCount);
              String myDaycount = String.valueOf(diffDays);
              ed6.setText(myDaycount);
          } catch (ParseException e) {
              e.printStackTrace();
          }


      }


请试试这个。希望它能帮助您

尝试此方法。请在发布前搜索堆栈溢出。
long diff = date1.getTime() - date2.getTime();
long seconds = diff / 1000;
long minutes = seconds / 60;
long hours = minutes / 60;
long days = hours / 24;