Java : Impossible to parse "23/10/1973" with "dd/MM/yyyy HH:mm" format

标签 java android exception date-format

我正在尝试将许多字符串日期解析为日期,其中一些带有时间部分,另一些则没有,采用“dd/MM/yyyy HH:mm”格式。

public static Date StringToDate (String format, String theDate) {

  SimpleDateFormat df = new SimpleDateFormat(format);

  Date retDate = null;
  try {
   df.setLenient(true);
   retDate = df.parse(theDate);
  } 
  catch (ParseException e) {
   e.printStackTrace();
  }

  return (retDate);
 }

(此处,格式始终为“dd/MM/yyyy HH:mm”)。

但这会导致异常,即使 setLenient 强制为 true。你知道我如何将许多格式如“dd/MM/yyyy HH:mm:ss”的字符串转换为日期,但有些人没有时间,有些人没有秒数,还有一个人有一切?

最佳答案

如果你知道有些字符串有时间,有些没有,并且没有其他情况,我只会检查字符串的长度。但是,如果您有多种不同的格式可用,我会按某种有意义的顺序尝试每种格式,直到您获得有效的日期。

关于Java : Impossible to parse "23/10/1973" with "dd/MM/yyyy HH:mm" format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4135471/

相关文章:

java - 在 fragment 中使用对话框

java - RxJava2 - 如何编写分组项目的自定义逻辑?

java - 读取和写入(序列化)不同类中的静态嵌套类对象

delphi - 如何使用 EurekaLog 将调用堆栈信息传递给异常?

java - 具有返回对象数组的特定列的 JPQL

java - 检查扑克牌

java - Java 中的 3d 游戏编程

android - 当我获取选项卡的标签时,FragmentTabHost 返回 null

java - IOException:服务器返回 400 错误代码

java - Java 中跳过第一次出现并分割字符串