Java android比较两个日期以找出差异

Java android比较两个日期以找出差异,java,android,Java,Android,我有一个预订表单,要求用户在输入日期的同时输入详细信息。 用户无法提交24小时内的日期。 预订必须在24小时后进行 我该如何实现这一点?。 我已获得当前日期和时间 因此,如果当前日期和时间为19062012 1324,则在20062012 1324之前无法进行预订 我想做的是: long mdates = (long) (Long.parseLong(date.getText().toString())); long mprefered= (long) (Long.parseLong(d

我有一个预订表单,要求用户在输入日期的同时输入详细信息。 用户无法提交24小时内的日期。 预订必须在24小时后进行

我该如何实现这一点?。 我已获得当前日期和时间

因此,如果当前日期和时间为19062012 1324,则在20062012 1324之前无法进行预订

我想做的是:

long mdates = (long) (Long.parseLong(date.getText().toString()));
    long mprefered= (long) (Long.parseLong(date2.getText().toString()));
        long sub = mprefered - mdates;

    if (preferedDateEditText.getText().toString() != null
            && !preferedDateEditText.getText().toString()
                    .equalsIgnoreCase("") && sub>100000000) {
        emailBody += "Prefered date & Time:"
                + preferedDateEditText.getText().toString().trim()
                + "\n sub="+sub;
    } else {
        errorMessage += "A booking cannot be made within 24 hours.";
    }
但是,如果首选日期为01072012 1324,则不接受提前24小时
任何帮助都将不胜感激

使用SimpleDataFormat将日期字符串解析为日期对象。然后可以使用这些对象进行比较。

使用SimpleDataFormat将日期字符串解析为日期对象。然后可以使用这些对象进行比较。

Date-date1=new-Datemillis

Date date = new Date(long);
if (date.before(other_date)) {
...
        if(date1.compareTo(date2)>0)
        {

        }
        else if(date1.compareTo(date2)<0)
        {

        }
        else 
        {
            //both are equal
        }
Date date2=新日期毫秒

        if(date1.compareTo(date2)>0)
        {

        }
        else if(date1.compareTo(date2)<0)
        {

        }
        else 
        {
            //both are equal
        }

Date date1=新日期毫秒

        if(date1.compareTo(date2)>0)
        {

        }
        else if(date1.compareTo(date2)<0)
        {

        }
        else 
        {
            //both are equal
        }
Date date2=新日期毫秒

        if(date1.compareTo(date2)>0)
        {

        }
        else if(date1.compareTo(date2)<0)
        {

        }
        else 
        {
            //both are equal
        }

您可以使用Date和DateFormat将日期字符串与日期对象进行比较,然后使用Date.beforeDate和Date.afterDate函数进行比较

public checkTimePassed(String datestring){
        DateFormat dfm = new SimpleDateFormat("ddMMyyyy hm");
        Date preferred_date = dfm.parse(datestring);
        Date now = new Date();
        double minimum_time = preferred_date.getTime() + (24 * 60 * 60);
        return now.getTime() > minimum_time;
    }

您可以使用Date和DateFormat将日期字符串与日期对象进行比较,然后使用Date.beforeDate和Date.afterDate函数进行比较

public checkTimePassed(String datestring){
        DateFormat dfm = new SimpleDateFormat("ddMMyyyy hm");
        Date preferred_date = dfm.parse(datestring);
        Date now = new Date();
        double minimum_time = preferred_date.getTime() + (24 * 60 * 60);
        return now.getTime() > minimum_time;
    }

查看此问题了解更多信息查看此问题了解更多信息我是说long它是以毫秒为单位的日期或其他日期对象我是说long它是以毫秒为单位的日期或其他日期对象它是等于日期的时间它是等于日期的时间