Java String to Date Conversion 抛出无法解析的日期

标签 java

我正在尝试将以下文本转换为日期,但无法正确解析。

String strDate = "Tue Mar 13 12:00:00 EST 2012";
try{
    SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy");
    //also tried SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy HH:mm");
    //as well as sd.setTimeZone(TimeZone.getDefault());
    Date date = sd.parse(strDate);
}catch(Exception e)
{
    e.printStack();
    //fails with java.text.ParseException: Unparseable date: "Tue Mar 13 12:00:00 EST 2012"
}

我做错了什么?

最佳答案

您的日期格式正在寻找格式为 dd/MM/yyyy(日/月/年)的内容,但您传递的是一个长日期字符串。您的格式会解析像 13/05/2012 这样的日期。查看 SimpleDateFormat http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html符号的 javadoc。

所以你的日期格式应该是 EEE MMM dd...etc

关于Java String to Date Conversion 抛出无法解析的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9560539/

相关文章:

java - 适合 Scala 的 GUI 框架?

java - 在 Swing 面板上排列 Swing 组件

java - Tomcat 卡住部署 Spring Boot 应用程序

java - 如何在jsp中显示表格中的值?

java - 使用谷歌地图计算实时行进距离

java - 如何使用 Eclipse 在 Windows 上通过 RMI 命令运行 Java SE 6

java - 将 thymeleaf 登录表单转换为 REST 解决方案

java - 使用 jooq 通过子查询删除

Java将XML转换为JSON并判断是数组还是对象

java - 使用 BNF 的 Compiler 编译器