我使用SimpleDateFormat
类来解析日期,如下所示:
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
类中检查了另一种格式作为参数:
“yyyy-MM-dd HH:mm:ss a”但是,仍然会出现同样的错误。
是否还有其他日期时间格式我必须作为SimpleDateFormat
类的参数传递?
答案 0 :(得分:2)
如果您的输入没有第二个值,请尝试此操作。
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm a");
如果它还有第二个值,那么使用这个
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a");
否则高于一个
答案 1 :(得分:2)
正如您在上述评论中所述,您使用TimePicker
来选择日期时间并进行解析。你说你也想要第二个。但显然,TimePicker
不包括第二个。那你怎么知道用户想要的第二个呢?我想0.您可以将字符串插入正确的位置以使其工作。在你的情况下,你应该在索引16中插入“:00”。只需使用StringBuilder
!
StringBuilder builder = new StringBuilder("2015-09-16 10:21 AM");
builder.insert (16, ":00");
答案 2 :(得分:1)
TimePicker
窗口小部件不提供年 - 月 - 日,它只提供小时和分钟
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");
要获得年月日,您必须使用DatePicker
小部件