简体   繁体   中英

How to count number of days between date range material picker in android

How to count the number of days between date range picker

I am Trying but no solution for this please anyone can help me

I badly need count of days when user select date range form datepicker range then set text total count of days.

    try {

        String valu1 = String.valueOf(constraintsBuilder.setStart(calendar.getTimeInMillis()));
        String valu2 = String.valueOf(constraintsBuilder.setEnd(calendar.getTimeInMillis()));
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MMM-yyyy");
        Date date1 = simpleDateFormat.parse(valu1);
        Date date2 = simpleDateFormat.parse(valu2);
        long difference = Math.abs(date1.getTime() - date2.getTime());

        Log.i("Testing","days" +difference);
        textView.setText("days" +difference);

    }
    catch(Exception ex)
    {

        ex.printStackTrace();
    }

main code is

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    showDatePicker= findViewById(R.id.showDatepicker);
    textView=findViewById(R.id.textView);

    Calendar calendar =Calendar.getInstance(TimeZone.getTimeZone("UTC+06"));
 calendar.clear();

    MaterialDatePicker.Builder builder = MaterialDatePicker.Builder.dateRangePicker();
    builder.setTitleText("Select Date");
  


    final MaterialDatePicker materialDatePicker = builder.build();

    showDatePicker.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            materialDatePicker.show(getSupportFragmentManager(),"DATE_PICKER");

        }
    });


    materialDatePicker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener() {
        @Override
        public void onPositiveButtonClick(Object selection) {

            showDatePicker.setText(materialDatePicker.getHeaderText());


        }
    });
}

You can use something like:

    MaterialDatePicker<Pair<Long, Long>> picker = builder.build();
    picker.show(getSupportFragmentManager(), picker.toString());

    picker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener<Pair<Long, Long>>() {
        @Override public void onPositiveButtonClick(Pair<Long,Long> selection) {
            Long startDate = selection.first;
            Long endDate = selection.second;

            long msDiff = endDate - startDate;
            long daysDiff = TimeUnit.MILLISECONDS.toDays(msDiff);
            

        }
    });

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM