Android 中的解析异常

Parse exception in Android

我正在使用 SimpleDateFormat class 来解析日期,如下所示:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

但是,得到如下 Parse 异常错误:

java.text.ParseException: Unparseable date: "2015-09-16 10:21 AM" (at offset 16)

我检查了另一种格式,作为 SimpleDateFormat class 中的参数是: "yyyy-MM-dd HH:mm:ss a" 但是,仍然出现同样的错误。

是否有任何其他日期时间格式我必须作为 SimpleDateFormat class 的参数传递?

TimePicker widget 不提供年月日,只提供小时和分钟

SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");

要获取年月​​日,您必须使用 DatePicker 小部件

如果您的输入没有第二个值,试试这个..

 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm a");

如果它还有第二个值,那么使用这个

 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a");

否则高于一个

For More detail....

正如您在上述评论中所说,您使用 TimePicker 选择日期时间并对其进行解析。而你说你也想要第二个。但显然,TimePicker 不包括第二个。那么你怎么知道用户想要哪一秒呢?我猜是 0。您可以将字符串插入正确的位置以使其工作。在您的情况下,您应该在索引 16 中插入“:00”。只需使用 StringBuilder!

StringBuilder builder = new StringBuilder("2015-09-16 10:21 AM");
builder.insert (16, ":00");