如何比较当前日期与日期选取器用户输入日期 [英] how do i compare current date with user input date from date picker

查看:295
本文介绍了如何比较当前日期与日期选取器用户输入日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想保持约束的日期和时间。我想,如果用户试图设置日期小于当前日期,然后它应该显示警报,同样的事情是要与时间进行。我使用的日期和时间选择器和我的 onDateSetListener onTimeSetListener 情况如下:

I am trying to keep constraint on date and time. I want that if user tries to set date less than current date then it should show alert, and same thing is to be done with time. I am using date and time pickers and my onDateSetListener and onTimeSetListener are as below:

DatePickerDialog.OnDateSetListener d = new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                int dayOfMonth) {
            dateTime.set(Calendar.YEAR, year);
            dateTime.set(Calendar.MONTH, monthOfYear);
            dateTime.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            update_date_display();



            // ---for setting notification----

            day = dayOfMonth;
            month = monthOfYear;
            AddEditTask.year = year;

            c.set(year, month, day);
        }
    };

    protected void update_date_display() {

        et_task_date.setText(formatDate.format(dateTime.getTime()));
    }

    TimePickerDialog.OnTimeSetListener t = new TimePickerDialog.OnTimeSetListener() {
        @Override
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

            dateTime.set(Calendar.HOUR_OF_DAY, hourOfDay);
            dateTime.set(Calendar.MINUTE, minute);
            update_time_display();

            // ---for setting notification---

            hour = hourOfDay;
            AddEditTask.minute = minute;

            c.set(Calendar.HOUR_OF_DAY, hourOfDay);
            c.set(Calendar.MINUTE, minute);
            c.set(Calendar.SECOND, 0);
        }
    };

    private void update_time_display() {

        et_task_time.setText(formatTime.format(dateTime.getTime()));
    }

您能告诉我什么是为那些听众中写入达到我想要的。在此先感谢...!

can you please tell me what is to be written within those listeners to achieve what i want. Thanks in advance...!!!

推荐答案

创建一个新的Date对象是这样的:

Create a new Date object this way:

Date now = new Date(System.currentTimeMillis());

和使用 INT结果= now.compareTo(theOtherDate);

结果将是一个int< 0,如果现在时间小于theOtherDate日期,0,如果他们是平等的,一个int> 0,如果这个日期也更大。

result will be an int < 0 if now Date is less than the theOtherDate Date, 0 if they are equal, and an int > 0 if this Date is greater.

这篇关于如何比较当前日期与日期选取器用户输入日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆