2017-02-18 2 views
-1

"日時"から "To date"までの総日数を求めたいと思います。事前のおかげでここ日数b/wの2つの日付を見つけるにはSimpledateFormatのlogcatエラーがあります

this is error in logcat when i run the app the app crashes and shows this.は私の完全なコード

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(); 
      } 


     } 

this is the output of my app and i want to find total number of days b/w "from date" to "To date". Thanks in advance

+0

http://stackoverflow.com/a/3838661/7320259これを試してください –

+0

投稿する前にスタックオーバーフローを検索してください。 –

答えて

0
long diff = date1.getTime() - date2.getTime(); 
long seconds = diff/1000; 
long minutes = seconds/60; 
long hours = minutes/60; 
long days = hours/24; 

であるが、これを試してみてください。あなたに役立つことを願っています

関連する問題