Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SimpleDataFormat解析问题_Java_Date_Simpledateformat - Fatal编程技术网

Java SimpleDataFormat解析问题

Java SimpleDataFormat解析问题,java,date,simpledateformat,Java,Date,Simpledateformat,我正试图使用SimpleDataFormat类解析从Java网站中获得的日期字符串,但出现了一些问题,我不知道为什么 日期字符串采用以下语法: "13:37 - Tue 28-Jun-2011" 所以我试着做了以下几点: SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm - EEE dd-MMM-yyyy"); ParsePosition pos = new ParsePosition(0); Date d = dateF

我正试图使用SimpleDataFormat类解析从Java网站中获得的日期字符串,但出现了一些问题,我不知道为什么

日期字符串采用以下语法:

"13:37 - Tue 28-Jun-2011"
所以我试着做了以下几点:

SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm - EEE dd-MMM-yyyy");
ParsePosition pos = new ParsePosition(0);   
Date d = dateFormat.parse("13:37 - Tue 28-Jun-2011", pos);
正如我之前所说,这是行不通的;当我打印时

System.out.println(pos.getErrorIndex());
它打印“8”,我认为这意味着错误在EEE部分的某个地方。我尝试过不同的排列方式,但没有效果。我做错了什么

谢谢


bompf

如果您试图解析日期,这将起作用。我不知道你想用
ParsePosition

   SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm - EEE dd-MMM-yyyy");
   Date d = dateFormat.parse("13:37 - Tue 28-Jun-2011");
   System.out.println(d);

如果您试图解析日期,这将起作用。我不知道你想用
ParsePosition

   SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm - EEE dd-MMM-yyyy");
   Date d = dateFormat.parse("13:37 - Tue 28-Jun-2011");
   System.out.println(d);

这对我来说很好

SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm - EEE dd-MMM-yyyy");
ParsePosition pos = new ParsePosition(0);   
Date d = dateFormat.parse("13:37 - Tue 28-Jun-2011", pos);

System.out.println(pos.getErrorIndex());
System.out.println(d);
输出-

-1
Tue Jun 28 13:37:00 EDT 2011

这对我来说很好

SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm - EEE dd-MMM-yyyy");
ParsePosition pos = new ParsePosition(0);   
Date d = dateFormat.parse("13:37 - Tue 28-Jun-2011", pos);

System.out.println(pos.getErrorIndex());
System.out.println(d);
输出-

-1
Tue Jun 28 13:37:00 EDT 2011

我发现了问题:我不知道我必须为日期格式设置区域设置

SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm - EEE dd-MMM-yyyy", Locale.ENGLISH);

现在可以了

我发现了问题:我不知道必须为日期格式设置区域设置

SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm - EEE dd-MMM-yyyy", Locale.ENGLISH);

现在可以了

当你说它不起作用时,它显示了什么错误?你真的可以把这个区域设置作为这个问题的解决方案,然后接受你自己的答案吗?这会对我们其他人有所帮助。我已经按照你的要求做了。当你说它不起作用时,它会显示出什么错误?你真的可以发布该区域设置作为这个问题的解决方案,然后接受你自己的答案吗?这对我们其他人会有帮助的。我已经按照你的要求做了。