2017-06-16 3 views
-1

Ich möchte zwei Zeitbasis vergleichen, also wandle ich nur die Zeit bis zum heutigen Tag um.java.text.ParseException: Nicht übertragbares Datum: "9:30 AM" (bei Offset 5)

ich habe Parse-Zeit wie folgt aus:

SimpleDateFormat h_mm_a = new SimpleDateFormat("h:mm a"); 
Date d1 = h_mm_a.parse(txtTimeFrom.getText().toString()); 
Date d2 = h_mm_a.parse(txtTimeTo.getText().toString()); 
if(d1.compareTo(d2)<0){ 
    .................... 
} 
else{ 
    Toast.makeText(ExecutiveRouteTracking.this,"Invalid Time",Toast.LENGTH_SHORT).show(); 
} 

Es wird wie

werfen Ausnahme
java.text.ParseException: Unparseable date: “9:30 AM” (at offset 5) 

Kann jemand mir helfen, Probleme zu lösen zwei Mal zu vergleichen?

Antwort

0

Versuchen mit Joda Zeit

String currentTime = new SimpleDateFormat("HH:mm").format(new Date()); 

    DateTimeFormatter parseFormat = new DateTimeFormatterBuilder().appendPattern("HH:mm").toFormatter(); 

    LocalTime localTime = LocalTime.parse(currentTime, parseFormat); 
    LocalTime limit = new LocalTime("14:00"); 
    return localTime.isAfter(limit); 
+0

Wird nicht funktionieren, wenn OP Java 7 oder weniger – Akshay

+1

@Akshay Da hat, wenn sich Joda 8 auf Java beschränkt? – Tom

+0

Ups ... es ist in jdk 8 hinzugefügt. ..DateTimeFormatter Klasse – Akshay

Verwandte Themen