有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java 安卓比较两个日期以找出差异

我有一个预订表单,要求用户在输入日期的同时输入详细信息。 用户无法提交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小时 任何帮助都将不胜感激


共 (4) 个答案

  1. # 1 楼答案

    可以使用日期和日期格式将日期字符串与日期对象进行比较,然后使用日期。在(日期)和日期之前。要比较的after(Date)函数

    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;
        }
    
  2. # 2 楼答案

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

  3. # 3 楼答案

    日期1=新日期(毫秒)

    日期日期2=新日期(毫秒)

            if(date1.compareTo(date2)>0)
            {
    
            }
            else if(date1.compareTo(date2)<0)
            {
    
            }
            else 
            {
                //both are equal
            }
    
  4. # 4 楼答案

    Date date = new Date(long);
    if (date.before(other_date)) {
    ...