Java 如何解析2018-06-19T05:50:31.000+;0000截止日期的日期字符串

Java 如何解析2018-06-19T05:50:31.000+;0000截止日期的日期字符串,java,simpledateformat,datetime-parsing,Java,Simpledateformat,Datetime Parsing,我试过这种方法,但它抛出了一个异常 DateFormat date = new SimpleDateFormat("YYYY-MM-DDThh:mm:ssZ"); Date result = date.parse(time); 我得到一个例外: java.text.ParseException:不可解析日期:“2018-06-19T05:50:31.000+0000” 如何用Java解析这个日期?我想你需要用单引号来表示T,而且区域是一个Z newsimpledateformat(“yyyy

我试过这种方法,但它抛出了一个异常

DateFormat date = new SimpleDateFormat("YYYY-MM-DDThh:mm:ssZ");
Date result =  date.parse(time);
我得到一个例外:

java.text.ParseException:不可解析日期:“2018-06-19T05:50:31.000+0000”


如何用Java解析这个日期?

我想你需要用单引号来表示T,而且区域是一个Z

newsimpledateformat(“yyyy-MM-dd'T'HH:MM:ss.SSSZ”)


请参见此处的示例:

我认为您需要使用单引号来表示T文字,并且区域是一个Z

newsimpledateformat(“yyyy-MM-dd'T'HH:MM:ss.SSSZ”)


请参阅此处的示例:

Related:我建议您避免使用
SimpleDateFormat
类。它不仅早已过时,而且还出了名的麻烦。今天我们有好多好多好多好多好多了。同意,尽管我已经回答了OP使用简单日期格式的问题。@mrblewog可能还添加了一个如何使用“新”api的示例,以便OP可以学习和其他在使用simpledate库时遇到困难的人。格式模式字母区分大小写。您需要小写的
yyyy
、小写的
dd
和大写的
HH
。相关:我建议您避免使用
SimpleDateFormat
类。它不仅早已过时,而且还出了名的麻烦。今天我们有好多好多好多好多好多了。同意,尽管我已经回答了OP使用简单日期格式的问题。@mrblewog可能还添加了一个如何使用“新”api的示例,以便OP可以学习和其他在使用simpledate库时遇到困难的人。格式模式字母区分大小写。你需要小写的
yyyy
,小写的
dd
和大写的
HH
。谢谢你帮了我:)@user3659493你介意接受这个答案吗?谢谢,回答正确。但现在已经过时了。这个类在几年前被现代的java.time类所取代。希望OP能意识到这一点。我回答了这个问题。谢谢它对我有用:)@user3659493那么你介意接受这个答案吗?谢谢,回答正确。但现在已经过时了。这个类在几年前被现代的java.time类所取代。希望OP能意识到这一点。我用问题的措辞回答。