Comparer Two String Date and Time dans Android?

J'ai Two String Datetime comme suit:

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

J'ai besoin de comparer ces dates et j'ai besoin d'un résultat.

8 Solutions collect form web for “Comparer Two String Date and Time dans Android?”

 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(); } 

Vous pouvez utiliser les éléments suivants:

  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; } 

Vous pouvez convertir String en Date comme ceci:

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

Et revenir à String

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

Et Date a avant et après les méthodes et peut être comparé les uns aux autres.

En passant, il y a aussi une bibliothèque appelée Joda, vous pouvez également la vérifier.

Essayez Joda pour le meilleur résultat. C'est très simple à utiliser.

 String pattern = "dd-MM-yyyy HH:mm:ss"; SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); Date one = dateFormat.parse(Date1String); Date two = dateFormat.parse(Date2String); 

Maintenant, vous avez deux objets Date , vous pouvez les comparer.

Essaye ça,

 String pattern = "<yourPattern>"; SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); try { Date one = dateFormat.parse(<yourDate>); Date two = dateFormat.parse(<yourDate>); } catch (ParseException e) {} 

Cet extrait explique lorsque nous comparons deux dates dans des formats de chaîne, autrement dit, jusqu'à présent, n'est pas autorisé lorsque cela est supérieur à la 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 
 public static String CompareDates(String date1, String date2) { try{ String pattern = "dd-MMM-yyyy HH:mm:ss"; SimpleDateFormat formatter = new SimpleDateFormat(pattern); Date Date1 = formatter.parse(date1); Date Date2 = formatter.parse(date2); if (Date1 != null && Date2 != null) { if (Date1 .equals(Date2 )) { //Both dates are equal. } else{ //both date are not equal("use after and before to check occurrence of dates") } }catch (Exception e1){ e1.printStackTrace(); } } 
coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.