Compare Two String Date and Time in android?

前端 未结 9 637
北海茫月
北海茫月 2020-12-15 04:54

I have Two String Datetime as follows:

String Date1 = \"05-09-2013 10:46:10\"
String Date2 = \"06-09-2013 10:46:10\"

I Need to compare thes

相关标签:
9条回答
  • 2020-12-15 05:06
    try{
    
         SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
    
    
         String str1 = "12/10/2013";
         Date date1 = formatter.parse(str1);
    
         String str2 = "13/10/2013";
         Date date2 = formatter.parse(str2);
    
         if (date1.compareTo(date2)<0)
          {
             System.out.println("date2 is Greater than my date1");                         
          }
    
        }catch (ParseException e1){
            e1.printStackTrace();
        }
    
    0 讨论(0)
  • 2020-12-15 05:07

    You can use following:

        public static boolean CheckDates(String startDate, String endDate) {
    
        SimpleDateFormat dfDate = new SimpleDateFormat("dd-MMM-yyyy");
    
        boolean b = false;
    
        try {
            if (dfDate.parse(startDate).before(dfDate.parse(endDate))) {
                b = true;  // If start date is before end date.
            } else if (dfDate.parse(startDate).equals(dfDate.parse(endDate))) {
                b = true;  // If two dates are equal.
            } else {
                b = false; // If start date is after the end date.
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
    
        return b;
    }
    
    0 讨论(0)
  • 2020-12-15 05:14

    Try Joda time for the best result. Its very simple to use.

    0 讨论(0)
  • 2020-12-15 05:16

    You can convert String to Date like this:

        String str = "12/12/1912";
       SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
       Date date = formatter.parse(str);
    

    And back to String

        SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
       System.out.println("Date is : " + formatter.format(date));
    

    And Date has before and after methods and can be compared to each other.

    By the way there is also a library called Joda, you can also check it out.

    0 讨论(0)
  • 2020-12-15 05:19

    this snippet explain when we compare two dates in string formats, in other words to date is not allowed when greater than from date.

     private void setTodate() {
                // TODO Auto-generated method stub
                // Process to get Current Date
                int fYear, fMonth, fDay;
                final Calendar c = Calendar.getInstance();
                fYear = c.get(Calendar.YEAR);
                fMonth = c.get(Calendar.MONTH);
                fDay = c.get(Calendar.DAY_OF_MONTH);
                // Launch Date Picker Dialog
                DatePickerDialog dpd = new DatePickerDialog(RemindMeDetails.this,
                        new DatePickerDialog.OnDateSetListener() {
                            @SuppressLint("SimpleDateFormat")
                            @Override
                            public void onDateSet(DatePicker view, int year,
                                    int monthOfYear, int dayOfMonth) {                  
                            try{                        
                                SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");        
                                String fdate=recr_edit_Fromdate.getText().toString();                       
                                Date dateFD = formatter.parse(fdate);                       
                                String tdate=(dayOfMonth + "-"
                                        + (monthOfYear + 1) + "-" + year).toString();
                                Date dateTD = formatter.parse(tdate);                       
                                if (dateFD.compareTo(dateTD)<=0)
                                  {
                                    /* System.out.println("tdate is Greater than my fdate");  
                                     recr_edit_Todate.setText(dayOfMonth + "-"
                                                + (monthOfYear + 1) + "-" + year);*/
                                    recr_edit_Todate.setText(tdate);
                                  }
                                else{
                                    showmessage("Alert", "Start date is not greater than End date");                            
                            }catch (ParseException e1){
                                e1.printStackTrace();
                            }   
                            }
                        }, fYear, fMonth, fDay);
                dpd.show();
            }// method closed
    
    0 讨论(0)
  • 2020-12-15 05:22
    String pattern = "dd-MM-yyyy HH:mm:ss";
    SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
    Date one = dateFormat.parse(Date1String);
    Date two = dateFormat.parse(Date2String);
    

    Now you have two Date objects, you can compare them.

    0 讨论(0)
提交回复
热议问题