Java上不可解析的日期错误 导入java.io.File; 导入java.text.simpleDataFormat; 导入java.util.Date; 导入java.util.Map; 导入java.util.Scanner; 导入java.util.TreeMap; 公共类L10C { 公共静态void main(字符串[]args)引发异常 { 文件f=新文件(“src/Birthdates.txt”); 扫描仪输入=新扫描仪(f); //-------------------------------------------------读取文件并创建N2D映射 Map n2d=新树映射(); int n=input.nextInt(); 对于(int r=0;r

Java上不可解析的日期错误 导入java.io.File; 导入java.text.simpleDataFormat; 导入java.util.Date; 导入java.util.Map; 导入java.util.Scanner; 导入java.util.TreeMap; 公共类L10C { 公共静态void main(字符串[]args)引发异常 { 文件f=新文件(“src/Birthdates.txt”); 扫描仪输入=新扫描仪(f); //-------------------------------------------------读取文件并创建N2D映射 Map n2d=新树映射(); int n=input.nextInt(); 对于(int r=0;r,java,date-format,simpledateformat,Java,Date Format,Simpledateformat,此异常是因为预期的格式为dd,但您的文件条目包含其他格式。在这种特殊情况下,如果条目如下所示,则解析调用会起作用: 7兰迪,1996年6月7日 请注意7之前的0,以使其成为正确的dd格式 Reg解决方案,我认为您可以捕获解析异常,如果您确定这是文件中可能出现的唯一不可解析的情况,您可以更正catch块中的字符串并重新分析。您使用的是Java 8机器。对于Java 8,Oralce提供了新的API来处理日期和时间。请替换当前的PI(第28行)使用下面的API使其工作 Exception in th

此异常是因为预期的格式为dd,但您的文件条目包含其他格式。在这种特殊情况下,如果条目如下所示,则解析调用会起作用: 7兰迪,1996年6月7日 请注意7之前的0,以使其成为正确的dd格式


Reg解决方案,我认为您可以捕获解析异常,如果您确定这是文件中可能出现的唯一不可解析的情况,您可以更正catch块中的字符串并重新分析。

您使用的是Java 8机器。对于Java 8,Oralce提供了新的API来处理日期和时间。请替换当前的PI(第28行)使用下面的API使其工作

Exception in thread "main" java.text.ParseException: Unparseable date: "Jun 7, 1996" at java.text.DateFormat.parse(DateFormat.java:366) at L10C.main(L10C.java:27)
我使用以下格式将字符串更改为日期

String str = "1986-04-08 12:30";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);

它对我来说很好。

它对我来说很好,我的机器上没有出现错误。您运行示例的java版本和操作系统是什么?Tien Nguyen>Ubuntu Linux 14.04 LTS,jdk1.8.031(我想是64位).这很奇怪..因为它在我学校的电脑上工作,但在我的电脑上不工作。你的jdk版本是什么?我想我需要更换..我运行的是Java 1.7.0_65和Ubuntu,所以我在下面添加了我的答案,希望它对你有用。对不起,正如你所说,我改为Randy Jun 07,1996,但它仍然不工作..错误如下:线程异常“main“java.text.ParseException:不可解析的日期:1996年6月7日”,位于L10C.main(L10C.java:27)的java.text.DateFormat.parse(DateFormat.java:366)
String str = "1986-04-08 12:30";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);
String dateInString = "Sun Mar 06 11:28:16 IST 2011";
        DateFormat df = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy");
        Date startDate = (Date) df.parse(dateInString);