Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.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

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 日期格式分析异常-“;EEE MMM dd HH:mm:ss Z yyyy“;_Java_Date_Simpledateformat - Fatal编程技术网

Java 日期格式分析异常-“;EEE MMM dd HH:mm:ss Z yyyy“;

Java 日期格式分析异常-“;EEE MMM dd HH:mm:ss Z yyyy“;,java,date,simpledateformat,Java,Date,Simpledateformat,我遇到了日期解析问题示例日期: SimpleDateFormat parserSDF=new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale.getDefault()); parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013"); 破例 例如,我希望将此格式日期解析为yyyy MM dd 我尝试: 采取: java.text.ParseException:无法解析的日期:“2013年1

我遇到了日期解析问题示例日期:

SimpleDateFormat parserSDF=new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale.getDefault());


parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");
破例

例如,我希望将此格式日期解析为yyyy MM dd 我尝试:

采取: java.text.ParseException:无法解析的日期:“2013年10月16日星期三00:00:00 CEST”


好的,我改为工作:

SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale.ENGLISH);
Date date = parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");

您可以使用
Locale.ENGLISH
来决定,而不是使用您和其他人通常不知道的
Locale.default
,因为我看到您的字符串日期是英文格式的。如果您在其他国家,格式将不同

下面是我的示例代码:

public static void main(String[] args) {
    try {
        SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.ENGLISH);
        Date date = parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");
        System.out.println("date: " + date.toString());
    } catch (ParseException ex) {
        ex.printStackTrace();
    }
}
结果将是:
日期:周三10月16日05:00:00 ICT 2013
。或者,您可以使用日期字段来决定打印日期的哪一部分


希望得到以下帮助:)

我认为最初的异常是由于您的格式中的
Z
。 Per:


很可能你想用小写字母
z

我假设你的
Locale.getDefault()
pl
,因为你好像在波兰

因此,日期字符串中的英语单词会导致无法解析的日期

合适的波兰日期
字符串
如下

"Wt paź 16 00:00:00 -0500 2013"

否则,请将您的
Locale
更改为
Locale.ENGLISH
,以便
SimpleDateFormat
对象可以用英文单词解析
String
日期。

ParseException我猜我会运行您的代码。没有异常..请附加异常堆栈跟踪..仅供参考,非常麻烦的旧日期时间类,例如,和
java.text.simpleDataFormat
现在被内置在Java8和更高版本中的类所取代。请参阅。
文档
链接已断。@Rao-修复了链接:)感谢您的关注和快速修复。谢谢。
Z   Time zone   RFC 822 time zone   -0800
"Wt paź 16 00:00:00 -0500 2013"