java.text.ParseException:无法解析的日期:“9:30 AM”(偏移5处)

时间:2017-06-16 11:11:25

标签: java android datetime datetime-format

我想比较两次基于时间,所以我只是将时间转换为时间。

我有这样的解析时间:

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

它将抛出异常,如

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

任何人都可以帮助我解决问题比较两次吗?

1 个答案:

答案 0 :(得分:0)

尝试使用Joda Time

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